summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-22bnxt_en: Fix the PCI-AER routinesVikas Gupta
We do not support two simultaneous recoveries so check for reset flag, BNXT_STATE_IN_FW_RESET, and do not proceed with AER further. When the pci channel state is pci_channel_io_frozen, the PCIe link can not be trusted so we disable the traffic immediately and stop BAR access by calling bnxt_fw_fatal_close(). BAR access after AER fatal error can cause an NMI. Fixes: f75d9a0aa967 ("bnxt_en: Re-write PCI BARs after PCI fatal error.") Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-22bnxt_en: refactor reset close codeVikas Gupta
Introduce bnxt_fw_fatal_close() API which can be used to stop data path and disable device when firmware is in fatal state. Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-22bridge/br_netlink.c: no need to return void functionHangbin Liu
br_info_notify is a void function. There is no need to return. Fixes: b6d0425b816e ("bridge: cfm: Netlink Notifications.") Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Acked-by: Nikolay Aleksandrov <razor@blackwall.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-22mailmap: add entries for Alex ElderAlex Elder
Define my kernel.org address to be the canonical one, and add mailmap entries for the various addresses (including typos) that have been used over the years. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-22icmp: prevent possible NULL dereferences from icmp_build_probe()Eric Dumazet
First problem is a double call to __in_dev_get_rcu(), because the second one could return NULL. if (__in_dev_get_rcu(dev) && __in_dev_get_rcu(dev)->ifa_list) Second problem is a read from dev->ip6_ptr with no NULL check: if (!list_empty(&rcu_dereference(dev->ip6_ptr)->addr_list)) Use the correct RCU API to fix these. v2: add missing include <net/addrconf.h> Fixes: d329ea5bd884 ("icmp: add response to RFC 8335 PROBE messages") Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Andreas Roeseler <andreas.a.roeseler@gmail.com> Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-22net: usb: qmi_wwan: add Telit FN920C04 compositionsDaniele Palmas
Add the following Telit FN920C04 compositions: 0x10a0: rmnet + tty (AT/NMEA) + tty (AT) + tty (diag) T: Bus=03 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 5 Spd=480 MxCh= 0 D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1bc7 ProdID=10a0 Rev=05.15 S: Manufacturer=Telit Cinterion S: Product=FN920 S: SerialNumber=92c4c4d8 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms 0x10a4: rmnet + tty (AT) + tty (AT) + tty (diag) T: Bus=03 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 8 Spd=480 MxCh= 0 D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1bc7 ProdID=10a4 Rev=05.15 S: Manufacturer=Telit Cinterion S: Product=FN920 S: SerialNumber=92c4c4d8 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms 0x10a9: rmnet + tty (AT) + tty (diag) + DPL (data packet logging) + adb T: Bus=03 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 9 Spd=480 MxCh= 0 D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1bc7 ProdID=10a9 Rev=05.15 S: Manufacturer=Telit Cinterion S: Product=FN920 S: SerialNumber=92c4c4d8 C: #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Daniele Palmas <dnlplm@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2024-04-22wifi: iwlwifi: mvm: fix link ID managementJohannes Berg
On older (pre-MLD API) devices, we started also calling iwl_mvm_set_link_mapping()/iwl_mvm_unset_link_mapping(), but of course not also iwl_mvm_remove_link(). Since the link ID was only released in iwl_mvm_remove_link() this causes us to run out of FW link IDs very quickly. Fix it by releasing the link ID correctly. Fixes: a8b5d4809b50 ("wifi: iwlwifi: mvm: Configure the link mapping for non-MLD FW") Link: https://msgid.link/20240420154435.dce72db5d5e3.Ic40b454b24f1c7b380a1eedf67455d9cf2f58541@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-04-22bcachefs: If we run merges at a lower watermark, they must be nonblockingKent Overstreet
Fix another deadlock related to the merge path; previously, we switched to always running merges at a lower watermark (because they are noncritical); but when we run at a lower watermark we also need to run nonblocking or we've introduced a new deadlock. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> Reported-and-tested-by: s@m-h.ug
2024-04-22ASoC: PCM6240: New driverMark Brown
Merge series from Shenghao Ding <shenghao-ding@ti.com>: mixer-test report: root@am335x-evm:/bin# mixer-test TAP version 13 # Card 0 - TI BeagleBone Black (TI BeagleBone Black) 1..455 ok 1 get_value.0.64 # 0.64 PCMD3180 i2c2 Profile id ok 2 name.0.64 ok 3 write_default.0.64 ok 4 write_valid.0.64 ok 5 write_invalid.0.64 ok 6 event_missing.0.64 ok 7 event_spurious.0.64 ok 8 get_value.0.63 # 0.63 PCMD3180 i2c2 Dev3 Ch8 Digi Volume ok 9 name.0.63 ok 10 write_default.0.63 ok 11 write_valid.0.63 ok 12 write_invalid.0.63 ok 13 event_missing.0.63 ok 14 event_spurious.0.63 ok 15 get_value.0.62 # 0.62 PCMD3180 i2c2 Dev3 Ch7 Digi Volume ok 16 name.0.62 ok 17 write_default.0.62 ok 18 write_valid.0.62 ok 19 write_invalid.0.62 ok 20 event_missing.0.62 ok 21 event_spurious.0.62 ok 22 get_value.0.61 # 0.61 PCMD3180 i2c2 Dev3 Ch6 Digi Volume ok 23 name.0.61 ok 24 write_default.0.61 ok 25 write_valid.0.61 ok 26 write_invalid.0.61 ok 27 event_missing.0.61 ok 28 event_spurious.0.61 ok 29 get_value.0.60 # 0.60 PCMD3180 i2c2 Dev3 Ch5 Digi Volume ok 30 name.0.60 ok 31 write_default.0.60 ok 32 write_valid.0.60 ok 33 write_invalid.0.60 ok 34 event_missing.0.60 ok 35 event_spurious.0.60 ok 36 get_value.0.59 # 0.59 PCMD3180 i2c2 Dev3 Ch4 Digi Volume ok 37 name.0.59 ok 38 write_default.0.59 ok 39 write_valid.0.59 ok 40 write_invalid.0.59 ok 41 event_missing.0.59 ok 42 event_spurious.0.59 ok 43 get_value.0.58 # 0.58 PCMD3180 i2c2 Dev3 Ch3 Digi Volume ok 44 name.0.58 ok 45 write_default.0.58 ok 46 write_valid.0.58 ok 47 write_invalid.0.58 ok 48 event_missing.0.58 ok 49 event_spurious.0.58 ok 50 get_value.0.57 # 0.57 PCMD3180 i2c2 Dev3 Ch2 Digi Volume ok 51 name.0.57 ok 52 write_default.0.57 ok 53 write_valid.0.57 ok 54 write_invalid.0.57 ok 55 event_missing.0.57 ok 56 event_spurious.0.57 ok 57 get_value.0.56 # 0.56 PCMD3180 i2c2 Dev3 Ch1 Digi Volume ok 58 name.0.56 ok 59 write_default.0.56 ok 60 write_valid.0.56 ok 61 write_invalid.0.56 ok 62 event_missing.0.56 ok 63 event_spurious.0.56 ok 64 get_value.0.55 # 0.55 PCMD3180 i2c2 Dev3 Ch8 Fine Volume ok 65 name.0.55 ok 66 write_default.0.55 ok 67 write_valid.0.55 ok 68 write_invalid.0.55 ok 69 event_missing.0.55 ok 70 event_spurious.0.55 ok 71 get_value.0.54 # 0.54 PCMD3180 i2c2 Dev3 Ch7 Fine Volume ok 72 name.0.54 ok 73 write_default.0.54 ok 74 write_valid.0.54 ok 75 write_invalid.0.54 ok 76 event_missing.0.54 ok 77 event_spurious.0.54 ok 78 get_value.0.53 # 0.53 PCMD3180 i2c2 Dev3 Ch6 Fine Volume ok 79 name.0.53 ok 80 write_default.0.53 ok 81 write_valid.0.53 ok 82 write_invalid.0.53 ok 83 event_missing.0.53 ok 84 event_spurious.0.53 ok 85 get_value.0.52 # 0.52 PCMD3180 i2c2 Dev3 Ch5 Fine Volume ok 86 name.0.52 ok 87 write_default.0.52 ok 88 write_valid.0.52 ok 89 write_invalid.0.52 ok 90 event_missing.0.52 ok 91 event_spurious.0.52 ok 92 get_value.0.51 # 0.51 PCMD3180 i2c2 Dev3 Ch4 Fine Volume ok 93 name.0.51 ok 94 write_default.0.51 ok 95 write_valid.0.51 ok 96 write_invalid.0.51 ok 97 event_missing.0.51 ok 98 event_spurious.0.51 ok 99 get_value.0.50 # 0.50 PCMD3180 i2c2 Dev3 Ch3 Fine Volume ok 100 name.0.50 ok 101 write_default.0.50 ok 102 write_valid.0.50 ok 103 write_invalid.0.50 ok 104 event_missing.0.50 ok 105 event_spurious.0.50 ok 106 get_value.0.49 # 0.49 PCMD3180 i2c2 Dev3 Ch2 Fine Volume ok 107 name.0.49 ok 108 write_default.0.49 ok 109 write_valid.0.49 ok 110 write_invalid.0.49 ok 111 event_missing.0.49 ok 112 event_spurious.0.49 ok 113 get_value.0.48 # 0.48 PCMD3180 i2c2 Dev3 Ch1 Fine Volume ok 114 name.0.48 ok 115 write_default.0.48 ok 116 write_valid.0.48 ok 117 write_invalid.0.48 ok 118 event_missing.0.48 ok 119 event_spurious.0.48 ok 120 get_value.0.47 # 0.47 PCMD3180 i2c2 Dev2 Ch8 Digi Volume ok 121 name.0.47 ok 122 write_default.0.47 ok 123 write_valid.0.47 ok 124 write_invalid.0.47 ok 125 event_missing.0.47 ok 126 event_spurious.0.47 ok 127 get_value.0.46 # 0.46 PCMD3180 i2c2 Dev2 Ch7 Digi Volume ok 128 name.0.46 ok 129 write_default.0.46 ok 130 write_valid.0.46 ok 131 write_invalid.0.46 ok 132 event_missing.0.46 ok 133 event_spurious.0.46 ok 134 get_value.0.45 # 0.45 PCMD3180 i2c2 Dev2 Ch6 Digi Volume ok 135 name.0.45 ok 136 write_default.0.45 ok 137 write_valid.0.45 ok 138 write_invalid.0.45 ok 139 event_missing.0.45 ok 140 event_spurious.0.45 ok 141 get_value.0.44 # 0.44 PCMD3180 i2c2 Dev2 Ch5 Digi Volume ok 142 name.0.44 ok 143 write_default.0.44 ok 144 write_valid.0.44 ok 145 write_invalid.0.44 ok 146 event_missing.0.44 ok 147 event_spurious.0.44 ok 148 get_value.0.43 # 0.43 PCMD3180 i2c2 Dev2 Ch4 Digi Volume ok 149 name.0.43 ok 150 write_default.0.43 ok 151 write_valid.0.43 ok 152 write_invalid.0.43 ok 153 event_missing.0.43 ok 154 event_spurious.0.43 ok 155 get_value.0.42 # 0.42 PCMD3180 i2c2 Dev2 Ch3 Digi Volume ok 156 name.0.42 ok 157 write_default.0.42 ok 158 write_valid.0.42 ok 159 write_invalid.0.42 ok 160 event_missing.0.42 ok 161 event_spurious.0.42 ok 162 get_value.0.41 # 0.41 PCMD3180 i2c2 Dev2 Ch2 Digi Volume ok 163 name.0.41 ok 164 write_default.0.41 ok 165 write_valid.0.41 ok 166 write_invalid.0.41 ok 167 event_missing.0.41 ok 168 event_spurious.0.41 ok 169 get_value.0.40 # 0.40 PCMD3180 i2c2 Dev2 Ch1 Digi Volume ok 170 name.0.40 ok 171 write_default.0.40 ok 172 write_valid.0.40 ok 173 write_invalid.0.40 ok 174 event_missing.0.40 ok 175 event_spurious.0.40 ok 176 get_value.0.39 # 0.39 PCMD3180 i2c2 Dev2 Ch8 Fine Volume ok 177 name.0.39 ok 178 write_default.0.39 ok 179 write_valid.0.39 ok 180 write_invalid.0.39 ok 181 event_missing.0.39 ok 182 event_spurious.0.39 ok 183 get_value.0.38 # 0.38 PCMD3180 i2c2 Dev2 Ch7 Fine Volume ok 184 name.0.38 ok 185 write_default.0.38 ok 186 write_valid.0.38 ok 187 write_invalid.0.38 ok 188 event_missing.0.38 ok 189 event_spurious.0.38 ok 190 get_value.0.37 # 0.37 PCMD3180 i2c2 Dev2 Ch6 Fine Volume ok 191 name.0.37 ok 192 write_default.0.37 ok 193 write_valid.0.37 ok 194 write_invalid.0.37 ok 195 event_missing.0.37 ok 196 event_spurious.0.37 ok 197 get_value.0.36 # 0.36 PCMD3180 i2c2 Dev2 Ch5 Fine Volume ok 198 name.0.36 ok 199 write_default.0.36 ok 200 write_valid.0.36 ok 201 write_invalid.0.36 ok 202 event_missing.0.36 ok 203 event_spurious.0.36 ok 204 get_value.0.35 # 0.35 PCMD3180 i2c2 Dev2 Ch4 Fine Volume ok 205 name.0.35 ok 206 write_default.0.35 ok 207 write_valid.0.35 ok 208 write_invalid.0.35 ok 209 event_missing.0.35 ok 210 event_spurious.0.35 ok 211 get_value.0.34 # 0.34 PCMD3180 i2c2 Dev2 Ch3 Fine Volume ok 212 name.0.34 ok 213 write_default.0.34 ok 214 write_valid.0.34 ok 215 write_invalid.0.34 ok 216 event_missing.0.34 ok 217 event_spurious.0.34 ok 218 get_value.0.33 # 0.33 PCMD3180 i2c2 Dev2 Ch2 Fine Volume ok 219 name.0.33 ok 220 write_default.0.33 ok 221 write_valid.0.33 ok 222 write_invalid.0.33 ok 223 event_missing.0.33 ok 224 event_spurious.0.33 ok 225 get_value.0.32 # 0.32 PCMD3180 i2c2 Dev2 Ch1 Fine Volume ok 226 name.0.32 ok 227 write_default.0.32 ok 228 write_valid.0.32 ok 229 write_invalid.0.32 ok 230 event_missing.0.32 ok 231 event_spurious.0.32 ok 232 get_value.0.31 # 0.31 PCMD3180 i2c2 Dev1 Ch8 Digi Volume ok 233 name.0.31 ok 234 write_default.0.31 ok 235 write_valid.0.31 ok 236 write_invalid.0.31 ok 237 event_missing.0.31 ok 238 event_spurious.0.31 ok 239 get_value.0.30 # 0.30 PCMD3180 i2c2 Dev1 Ch7 Digi Volume ok 240 name.0.30 ok 241 write_default.0.30 ok 242 write_valid.0.30 ok 243 write_invalid.0.30 ok 244 event_missing.0.30 ok 245 event_spurious.0.30 ok 246 get_value.0.29 # 0.29 PCMD3180 i2c2 Dev1 Ch6 Digi Volume ok 247 name.0.29 ok 248 write_default.0.29 ok 249 write_valid.0.29 ok 250 write_invalid.0.29 ok 251 event_missing.0.29 ok 252 event_spurious.0.29 ok 253 get_value.0.28 # 0.28 PCMD3180 i2c2 Dev1 Ch5 Digi Volume ok 254 name.0.28 ok 255 write_default.0.28 ok 256 write_valid.0.28 ok 257 write_invalid.0.28 ok 258 event_missing.0.28 ok 259 event_spurious.0.28 ok 260 get_value.0.27 # 0.27 PCMD3180 i2c2 Dev1 Ch4 Digi Volume ok 261 name.0.27 ok 262 write_default.0.27 ok 263 write_valid.0.27 ok 264 write_invalid.0.27 ok 265 event_missing.0.27 ok 266 event_spurious.0.27 ok 267 get_value.0.26 # 0.26 PCMD3180 i2c2 Dev1 Ch3 Digi Volume ok 268 name.0.26 ok 269 write_default.0.26 ok 270 write_valid.0.26 ok 271 write_invalid.0.26 ok 272 event_missing.0.26 ok 273 event_spurious.0.26 ok 274 get_value.0.25 # 0.25 PCMD3180 i2c2 Dev1 Ch2 Digi Volume ok 275 name.0.25 ok 276 write_default.0.25 ok 277 write_valid.0.25 ok 278 write_invalid.0.25 ok 279 event_missing.0.25 ok 280 event_spurious.0.25 ok 281 get_value.0.24 # 0.24 PCMD3180 i2c2 Dev1 Ch1 Digi Volume ok 282 name.0.24 ok 283 write_default.0.24 ok 284 write_valid.0.24 ok 285 write_invalid.0.24 ok 286 event_missing.0.24 ok 287 event_spurious.0.24 ok 288 get_value.0.23 # 0.23 PCMD3180 i2c2 Dev1 Ch8 Fine Volume ok 289 name.0.23 ok 290 write_default.0.23 ok 291 write_valid.0.23 ok 292 write_invalid.0.23 ok 293 event_missing.0.23 ok 294 event_spurious.0.23 ok 295 get_value.0.22 # 0.22 PCMD3180 i2c2 Dev1 Ch7 Fine Volume ok 296 name.0.22 ok 297 write_default.0.22 ok 298 write_valid.0.22 ok 299 write_invalid.0.22 ok 300 event_missing.0.22 ok 301 event_spurious.0.22 ok 302 get_value.0.21 # 0.21 PCMD3180 i2c2 Dev1 Ch6 Fine Volume ok 303 name.0.21 ok 304 write_default.0.21 ok 305 write_valid.0.21 ok 306 write_invalid.0.21 ok 307 event_missing.0.21 ok 308 event_spurious.0.21 ok 309 get_value.0.20 # 0.20 PCMD3180 i2c2 Dev1 Ch5 Fine Volume ok 310 name.0.20 ok 311 write_default.0.20 ok 312 write_valid.0.20 ok 313 write_invalid.0.20 ok 314 event_missing.0.20 ok 315 event_spurious.0.20 ok 316 get_value.0.19 # 0.19 PCMD3180 i2c2 Dev1 Ch4 Fine Volume ok 317 name.0.19 ok 318 write_default.0.19 ok 319 write_valid.0.19 ok 320 write_invalid.0.19 ok 321 event_missing.0.19 ok 322 event_spurious.0.19 ok 323 get_value.0.18 # 0.18 PCMD3180 i2c2 Dev1 Ch3 Fine Volume ok 324 name.0.18 ok 325 write_default.0.18 ok 326 write_valid.0.18 ok 327 write_invalid.0.18 ok 328 event_missing.0.18 ok 329 event_spurious.0.18 ok 330 get_value.0.17 # 0.17 PCMD3180 i2c2 Dev1 Ch2 Fine Volume ok 331 name.0.17 ok 332 write_default.0.17 ok 333 write_valid.0.17 ok 334 write_invalid.0.17 ok 335 event_missing.0.17 ok 336 event_spurious.0.17 ok 337 get_value.0.16 # 0.16 PCMD3180 i2c2 Dev1 Ch1 Fine Volume ok 338 name.0.16 ok 339 write_default.0.16 ok 340 write_valid.0.16 ok 341 write_invalid.0.16 ok 342 event_missing.0.16 ok 343 event_spurious.0.16 ok 344 get_value.0.15 # 0.15 PCMD3180 i2c2 Dev0 Ch8 Digi Volume ok 345 name.0.15 ok 346 write_default.0.15 ok 347 write_valid.0.15 ok 348 write_invalid.0.15 ok 349 event_missing.0.15 ok 350 event_spurious.0.15 ok 351 get_value.0.14 # 0.14 PCMD3180 i2c2 Dev0 Ch7 Digi Volume ok 352 name.0.14 ok 353 write_default.0.14 ok 354 write_valid.0.14 ok 355 write_invalid.0.14 ok 356 event_missing.0.14 ok 357 event_spurious.0.14 ok 358 get_value.0.13 # 0.13 PCMD3180 i2c2 Dev0 Ch6 Digi Volume ok 359 name.0.13 ok 360 write_default.0.13 ok 361 write_valid.0.13 ok 362 write_invalid.0.13 ok 363 event_missing.0.13 ok 364 event_spurious.0.13 ok 365 get_value.0.12 # 0.12 PCMD3180 i2c2 Dev0 Ch5 Digi Volume ok 366 name.0.12 ok 367 write_default.0.12 ok 368 write_valid.0.12 ok 369 write_invalid.0.12 ok 370 event_missing.0.12 ok 371 event_spurious.0.12 ok 372 get_value.0.11 # 0.11 PCMD3180 i2c2 Dev0 Ch4 Digi Volume ok 373 name.0.11 ok 374 write_default.0.11 ok 375 write_valid.0.11 ok 376 write_invalid.0.11 ok 377 event_missing.0.11 ok 378 event_spurious.0.11 ok 379 get_value.0.10 # 0.10 PCMD3180 i2c2 Dev0 Ch3 Digi Volume ok 380 name.0.10 ok 381 write_default.0.10 ok 382 write_valid.0.10 ok 383 write_invalid.0.10 ok 384 event_missing.0.10 ok 385 event_spurious.0.10 ok 386 get_value.0.9 # 0.9 PCMD3180 i2c2 Dev0 Ch2 Digi Volume ok 387 name.0.9 ok 388 write_default.0.9 ok 389 write_valid.0.9 ok 390 write_invalid.0.9 ok 391 event_missing.0.9 ok 392 event_spurious.0.9 ok 393 get_value.0.8 # 0.8 PCMD3180 i2c2 Dev0 Ch1 Digi Volume ok 394 name.0.8 ok 395 write_default.0.8 ok 396 write_valid.0.8 ok 397 write_invalid.0.8 ok 398 event_missing.0.8 ok 399 event_spurious.0.8 ok 400 get_value.0.7 # 0.7 PCMD3180 i2c2 Dev0 Ch8 Fine Volume ok 401 name.0.7 ok 402 write_default.0.7 ok 403 write_valid.0.7 ok 404 write_invalid.0.7 ok 405 event_missing.0.7 ok 406 event_spurious.0.7 ok 407 get_value.0.6 # 0.6 PCMD3180 i2c2 Dev0 Ch7 Fine Volume ok 408 name.0.6 ok 409 write_default.0.6 ok 410 write_valid.0.6 ok 411 write_invalid.0.6 ok 412 event_missing.0.6 ok 413 event_spurious.0.6 ok 414 get_value.0.5 # 0.5 PCMD3180 i2c2 Dev0 Ch6 Fine Volume ok 415 name.0.5 ok 416 write_default.0.5 ok 417 write_valid.0.5 ok 418 write_invalid.0.5 ok 419 event_missing.0.5 ok 420 event_spurious.0.5 ok 421 get_value.0.4 # 0.4 PCMD3180 i2c2 Dev0 Ch5 Fine Volume ok 422 name.0.4 ok 423 write_default.0.4 ok 424 write_valid.0.4 ok 425 write_invalid.0.4 ok 426 event_missing.0.4 ok 427 event_spurious.0.4 ok 428 get_value.0.3 # 0.3 PCMD3180 i2c2 Dev0 Ch4 Fine Volume ok 429 name.0.3 ok 430 write_default.0.3 ok 431 write_valid.0.3 ok 432 write_invalid.0.3 ok 433 event_missing.0.3 ok 434 event_spurious.0.3 ok 435 get_value.0.2 # 0.2 PCMD3180 i2c2 Dev0 Ch3 Fine Volume ok 436 name.0.2 ok 437 write_default.0.2 ok 438 write_valid.0.2 ok 439 write_invalid.0.2 ok 440 event_missing.0.2 ok 441 event_spurious.0.2 ok 442 get_value.0.1 # 0.1 PCMD3180 i2c2 Dev0 Ch2 Fine Volume ok 443 name.0.1 ok 444 write_default.0.1 ok 445 write_valid.0.1 ok 446 write_invalid.0.1 ok 447 event_missing.0.1 ok 448 event_spurious.0.1 ok 449 get_value.0.0 # 0.0 PCMD3180 i2c2 Dev0 Ch1 Fine Volume ok 450 name.0.0 ok 451 write_default.0.0 ok 452 write_valid.0.0 ok 453 write_invalid.0.0 ok 454 event_missing.0.0 ok 455 event_spurious.0.0 # Totals: pass:455 fail:0 xfail:0 xpass:0 skip:0 error:0
2024-04-22ASoC: dapm: improve debugfs output and introduceMark Brown
Merge series from Luca Ceresoli <luca.ceresoli@bootlin.com>: This patch series improves the tools available to understand and debug DAPM.
2024-04-22ASoC: nau8821: Add delay control for ADCMark Brown
Merge series from Seven Lee <wtli@nuvoton.com>: Change the original fixed delay to the assignment from the property. It will make it more flexible to different platforms to avoid pop noise at the beginning of recording.
2024-04-22ASoC: Intel: avs: Switch to acpi-nhltMark Brown
Merge series from Cezary Rojewski <cezary.rojewski@intel.com>: The change is based on rafael/acpi-nhlt [1] immutable branch which Rafael kindly prepared for me. Without the topmost changes to ACPI/NHLT, the patches present will fail to compile. Recent changes for the ACPI tree [2] refactored interfaces of the NHLT table. Currently we have two implementations - one found in acpi subsystem (unused) and one in sound/hda/. As NHLT is part of ACPI, idea is to make the former useful and then switch all users of existing sound/hda/intel-nhlt.c to this new interface over time and remove the duplicate afterward. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/?h=acpi-nhlt [2]: https://lore.kernel.org/linux-acpi/20240319083018.3159716-1-cezary.rojewski@intel.com/
2024-04-21Linux 6.9-rc5v6.9-rc5Linus Torvalds
2024-04-21Merge tag 'char-misc-6.9-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char / misc driver fixes from Greg KH: "Here are some small char/misc and other driver fixes for 6.9-rc5. Included in here are the following: - binder driver fix for reported problem - speakup crash fix - mei driver fixes for reported problems - comdei driver fix - interconnect driver fixes - rtsx driver fix - peci.h kernel doc fix All of these have been in linux-next for over a week with no reported problems" * tag 'char-misc-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: peci: linux/peci.h: fix Excess kernel-doc description warning binder: check offset alignment in binder_get_object() comedi: vmk80xx: fix incomplete endpoint checking mei: vsc: Unregister interrupt handler for system suspend Revert "mei: vsc: Call wake_up() in the threaded IRQ handler" misc: rtsx: Fix rts5264 driver status incorrect when card removed mei: me: disable RPL-S on SPS and IGN firmwares speakup: Avoid crash on very long word interconnect: Don't access req_list while it's being manipulated interconnect: qcom: x1e80100: Remove inexistent ACV_PERF BCM
2024-04-21Merge tag 'driver-core-6.9-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull kernfs bugfix and documentation update from Greg KH: "Here are two changes for 6.9-rc5 that deal with "driver core" stuff, that do the following: - sysfs reference leak fix - embargoed-hardware-issues.rst update for Power Both of these have been in linux-next for over a week with no reported issues" * tag 'driver-core-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: Documentation: embargoed-hardware-issues.rst: Add myself for Power fs: sysfs: Fix reference leak in sysfs_break_active_protection()
2024-04-21Merge tag 'tty-6.9-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial driver fixes from Greg KH: "Here are some small tty and serial driver fixes for 6.9-rc5 that resolve a bunch of reported problems. Included in here are: - MAINTAINERS and .mailmap update for Richard Genoud - serial core regression fixes from 6.9-rc1 changes - pci id cleanups - serial core crash fix - stm32 driver fixes - 8250 driver fixes All of these have been in linux-next for a while with no reported problems" * tag 'tty-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: serial: stm32: Reset .throttled state in .startup() serial: stm32: Return IRQ_NONE in the ISR if no handling happend serial: core: Fix missing shutdown and startup for serial base port serial: core: Clearing the circular buffer before NULLifying it MAINTAINERS: mailmap: update Richard Genoud's email address serial/pmac_zilog: Remove flawed mitigation for rx irq flood serial: 8250_pci: Remove redundant PCI IDs serial: core: Fix regression when runtime PM is not enabled serial: mxs-auart: add spinlock around changing cts state serial: 8250_dw: Revert: Do not reclock if already at correct rate serial: 8250_lpc18xx: disable clks on error in probe()
2024-04-21Merge tag 'usb-6.9-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB / Thunderbolt driver fixes from Greg KH: "Here are some small USB and Thunderbolt driver fixes for 6.9-rc5. Included in here are: - MAINTAINER file update for invalid email address - usb-serial device id updates - typec driver fixes - thunderbolt / usb4 driver fixes - usb core shutdown fixes - cdc-wdm driver revert for reported problem in -rc1 - usb gadget driver fixes - xhci driver fixes All of these have been in linux-next for a while with no reported problems" * tag 'usb-6.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (25 commits) USB: serial: option: add Telit FN920C04 rmnet compositions usb: dwc3: ep0: Don't reset resource alloc flag Revert "usb: cdc-wdm: close race between read and workqueue" USB: serial: option: add Rolling RW101-GL and RW135-GL support USB: serial: option: add Lonsung U8300/U9300 product USB: serial: option: add support for Fibocom FM650/FG650 USB: serial: option: support Quectel EM060K sub-models USB: serial: option: add Fibocom FM135-GL variants usb: misc: onboard_usb_hub: Disable the USB hub clock on failure thunderbolt: Avoid notify PM core about runtime PM resume thunderbolt: Fix wake configurations after device unplug usb: dwc2: host: Fix dereference issue in DDMA completion flow. usb: typec: mux: it5205: Fix ChipID value typo MAINTAINERS: Drop Li Yang as their email address stopped working usb: gadget: fsl: Initialize udc before using it usb: Disable USB3 LPM at shutdown usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error usb: typec: tcpm: Correct the PDO counting in pd_set usb: gadget: functionfs: Wait for fences before enqueueing DMABUF usb: gadget: functionfs: Fix inverted DMA fence direction ...
2024-04-21Merge tag 'sched_urgent_for_v6.9_rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fix from Borislav Petkov: - Add a missing memory barrier in the concurrency ID mm switching * tag 'sched_urgent_for_v6.9_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: Add missing memory barrier in switch_mm_cid
2024-04-21Merge tag 'x86_urgent_for_v6.9_rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Borislav Petkov: - Fix CPU feature dependencies of GFNI, VAES, and VPCLMULQDQ - Print the correct error code when FRED reports a bad event type - Add a FRED-specific INT80 handler without the special dances that need to happen in the current one - Enable the using-the-default-return-thunk-but-you-should-not warning only on configs which actually enable those special return thunks - Check the proper feature flags when selecting BHI retpoline mitigation * tag 'x86_urgent_for_v6.9_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ x86/fred: Fix incorrect error code printout in fred_bad_type() x86/fred: Fix INT80 emulation for FRED x86/retpolines: Enable the default thunk warning only on relevant configs x86/bugs: Fix BHI retpoline check
2024-04-21ASoC: Intel: avs: Switch to ACPI NHLTAmadeusz Sławiński
Now that NHLT support in ACPI framework was introduced, migrate avs driver to new API. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20240419084307.2718881-3-cezary.rojewski@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoc: dt-bindings: PCM6240: Add initial DT bindingShenghao Ding
PCM6240 family chips are popular among audio customers, in spite of only a portion of the functionality of codec, such as ADC or DAC, and so on, for different Specifications, range from Personal Electric to Automotive Electric, even some professional fields. Yet their audio performance is far superior to the codec's, and cost is lower than codec, and much easier to program than codec. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Shenghao Ding <shenghao-ding@ti.com> Link: https://lore.kernel.org/r/20240407091846.1299-5-shenghao-ding@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoc: PCM6240: Add compile item for PCM6240 Family driverShenghao Ding
PCM6240 driver implements a flexible and configurable setting for register and filter coefficients, to one, two or even multiple PCM6240 Family Audio chips. Signed-off-by: Shenghao Ding <shenghao-ding@ti.com> Link: https://lore.kernel.org/r/20240407091846.1299-4-shenghao-ding@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoc: PCM6240: Create header file for PCM6240 Family driver codeShenghao Ding
PCM6240 driver implements a flexible and configurable setting for register and filter coefficients, to one, two or even multiple PCM6240 Family Audio chips. Signed-off-by: Shenghao Ding <shenghao-ding@ti.com> Link: https://lore.kernel.org/r/20240407091846.1299-3-shenghao-ding@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoc: PCM6240: Create PCM6240 Family driver codeShenghao Ding
PCM6240 driver implements a flexible and configurable setting for register and filter coefficients, to one, two or even multiple PCM6240 Family Audio chips. Signed-off-by: Shenghao Ding <shenghao-ding@ti.com> Link: https://lore.kernel.org/r/20240407091846.1299-2-shenghao-ding@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-20bcachefs: Fix inode early destruction pathKent Overstreet
discard_new_inode() is the wrong interface to use when we need to free an inode that was never inserted into the inode hash table; we can bypass the whole iput() -> evict() path and replace it with __destroy_inode(); kmem_cache_free() - this fixes a WARN_ON() about I_NEW. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-20bcachefs: Fix deadlock in journal write pathKent Overstreet
bch2_journal_write() was incorrectly waiting on earlier journal writes synchronously; this usually worked because most of the time we'd be running in the context of a thread that did a journal_buf_put(), but sometimes we'd be running out of the same workqueue that completes those prior journal writes. Additionally, this makes sure to punt to a workqueue before submitting preflushes - we really don't want to be calling submit_bio() in the main transaction commit path. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-21ASoC: dapm-graph: new tool to visualize DAPM stateLuca Ceresoli
Add a tool to generate a picture of the current DAPM state for a sound card. dapm-graph is inspired by vizdapm which used to be published on a Wolfson Micro git repository now disappeared, and has a few forks around: https://github.com/mihais/asoc-tools https://github.com/alexandrebelloni/asoc-tools dapm-graph is a full reimplementation with several improvements while still being a self-contained shell script: Improvements to rendered output: - shows the entire card, not one component hierarchy only - each component is rendered in a separate box - shows widget on/off status based on widget information alone (the original vizdapm propagates the "on" green colour to the first input widget) - use bold line and gray background and not only green/red line to show on/off status (for the color blind) Improvements for embedded system developers: - remote mode: get state of remote device (possibly with minimal rootfs) via SSH, but parsing locally for faster operation - compatible with BusyBox shell, not only bash Usability improvements: - flexible command line (uses getopts for parsing) - detailed help text - flag to enable detailed debug logging - graphviz output format detected from file extension, not hard coded - a self-contained shell script Usage is designed to be simple: dapm-grpah -c CARD - get state from debugfs for CARD dapm-grpah -c CARD -r REMOTE_TARGET - same, but remotely via SSH dapm-grpah -d STATE_DIR - from a local copy of the debugfs tree for a card Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20240416-vizdapm-ng-v1-3-5d33c0b57bc5@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoC: dapm: debugfs: show the widget typeLuca Ceresoli
To make the widget debugfs files more informative, add a line showing the widget type string. Keeping backward compatibility is nice to have being debugfs, and ease of parsing by both humans and software is also good. To maximize both with a reasonable effort add a new line without thouching the already complex format of the first line. The syntax is meant to be a key/value pair. The existing vizdapm tool continues working after this change, ignoring the new line. The new format is: Left ADC: Off in 1 out 0 - R2(0x2) mask 0x2 stream Left HiFi Capture inactive widget-type adc out "static" "Capture" "cs42l51.0-004a" in "static" "Left PGA" "cs42l51.0-004a" Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20240416-vizdapm-ng-v1-2-5d33c0b57bc5@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoC: dapm: debugfs: add component to route linesLuca Ceresoli
debugfs entries for DAPM widgets have the following form: Left ADC: Off in 1 out 0 - R2(0x2) mask 0x2 stream Left HiFi Capture inactive out "static" "Capture" in "static" "Left PGA" Lines with the "in" and "out" prefixes describe routes from/to other widgets presenting the path name and the connected widget name. This is ambiguous in case of cards having multiple widgets with the same name in different components. For example the STM32MP157A-DK1 board (arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi) has a "Capture" widget in both the "cs42l51.0-004a" and the "hdmi-audio-codec.1.auto" components. Avoid the ambiguity by adding the component name to the "in" and "out" lines. Add the new field at the end to minimize backward compatibility issues. The existing vizdapm tool continues working after this change. The output becomes: Left ADC: Off in 1 out 0 - R2(0x2) mask 0x2 stream Left HiFi Capture inactive out "static" "Capture" "cs42l51.0-004a" in "static" "Left PGA" "cs42l51.0-004a" Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20240416-vizdapm-ng-v1-1-5d33c0b57bc5@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoC: nau8821: Remove redundant ADC controlsSeven Lee
Remove redundant left/right adc channel enable controls. Signed-off-by: Seven Lee <wtli@nuvoton.com> Link: https://lore.kernel.org/r/20240415070649.3496487-4-wtli@nuvoton.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoC: nau8821: Add delay control for ADCSeven Lee
Change the original fixed delay to the assignment from the property. It will make it more flexible to different platforms to avoid pop noise at the beginning of recording. Signed-off-by: Seven Lee <wtli@nuvoton.com> Link: https://lore.kernel.org/r/20240415070649.3496487-3-wtli@nuvoton.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-21ASoC: dt-bindings: nau8821: Add delay control for ADCSeven Lee
Change the original fixed delay to the assignment from the property. It will make it more flexible to different platforms to avoid pop noise at the beginning of recording. Signed-off-by: Seven Lee <wtli@nuvoton.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20240415070649.3496487-2-wtli@nuvoton.com Signed-off-by: Mark Brown <broonie@kernel.org>
2024-04-20bcachefs: Tweak btree key cache shrinker so it actually freesKent Overstreet
Freeing key cache items is a multi stage process; we need to wait for an SRCU grace period to elapse, and we handle this ourselves - partially to avoid callback overhead, but primarily so that when allocating we can first allocate from the freed items waiting for an SRCU grace period. Previously, the shrinker was counting the items on the 'waiting for SRCU grace period' lists as items being scanned, but this meant that too many items waiting for an SRCU grace period could prevent it from doing any work at all. After this, we're seeing that items skipped due to the accessed bit are the main cause of the shrinker not making any progress, and we actually want the key cache shrinker to run quite aggressively because reclaimed items will still generally be found (more compactly) in the btree node cache - so we also tweak the shrinker to not count those against nr_to_scan. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-20bcachefs: bkey_cached.btree_trans_barrier_seq needs to be a ulongKent Overstreet
this stores the SRCU sequence number, which we use to check if an SRCU barrier has elapsed; this is a partial fix for the key cache shrinker not actually freeing. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-20Merge tag 'block-6.9-20240420' of git://git.kernel.dk/linuxLinus Torvalds
Pull block fixes from Jens Axboe: "Just two minor fixes that should go into the 6.9 kernel release, one fixing a regression with partition scanning errors, and one fixing a WARN_ON() that can get triggered if we race with a timer" * tag 'block-6.9-20240420' of git://git.kernel.dk/linux: blk-iocost: do not WARN if iocg was already offlined block: propagate partition scanning errors to the BLKRRPART ioctl
2024-04-20Merge tag 'email' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds
Pull email address update from James Bottomley: "My IBM email has stopped working, so update to a working email address" * tag 'email' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: MAINTAINERS: update to working email address
2024-04-20Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds
Pull kvm fixes from Paolo Bonzini: "This is a bit on the large side, mostly due to two changes: - Changes to disable some broken PMU virtualization (see below for details under "x86 PMU") - Clean up SVM's enter/exit assembly code so that it can be compiled without OBJECT_FILES_NON_STANDARD. This fixes a warning "Unpatched return thunk in use. This should not happen!" when running KVM selftests. Everything else is small bugfixes and selftest changes: - Fix a mostly benign bug in the gfn_to_pfn_cache infrastructure where KVM would allow userspace to refresh the cache with a bogus GPA. The bug has existed for quite some time, but was exposed by a new sanity check added in 6.9 (to ensure a cache is either GPA-based or HVA-based). - Drop an unused param from gfn_to_pfn_cache_invalidate_start() that got left behind during a 6.9 cleanup. - Fix a math goof in x86's hugepage logic for KVM_SET_MEMORY_ATTRIBUTES that results in an array overflow (detected by KASAN). - Fix a bug where KVM incorrectly clears root_role.direct when userspace sets guest CPUID. - Fix a dirty logging bug in the where KVM fails to write-protect SPTEs used by a nested guest, if KVM is using Page-Modification Logging and the nested hypervisor is NOT using EPT. x86 PMU: - Drop support for virtualizing adaptive PEBS, as KVM's implementation is architecturally broken without an obvious/easy path forward, and because exposing adaptive PEBS can leak host LBRs to the guest, i.e. can leak host kernel addresses to the guest. - Set the enable bits for general purpose counters in PERF_GLOBAL_CTRL at RESET time, as done by both Intel and AMD processors. - Disable LBR virtualization on CPUs that don't support LBR callstacks, as KVM unconditionally uses PERF_SAMPLE_BRANCH_CALL_STACK when creating the perf event, and would fail on such CPUs. Tests: - Fix a flaw in the max_guest_memory selftest that results in it exhausting the supply of ucall structures when run with more than 256 vCPUs. - Mark KVM_MEM_READONLY as supported for RISC-V in set_memory_region_test" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (30 commits) KVM: Drop unused @may_block param from gfn_to_pfn_cache_invalidate_start() KVM: selftests: Add coverage of EPT-disabled to vmx_dirty_log_test KVM: x86/mmu: Fix and clarify comments about clearing D-bit vs. write-protecting KVM: x86/mmu: Remove function comments above clear_dirty_{gfn_range,pt_masked}() KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status KVM: x86/mmu: Precisely invalidate MMU root_role during CPUID update KVM: VMX: Disable LBR virtualization if the CPU doesn't support LBR callstacks perf/x86/intel: Expose existence of callback support to KVM KVM: VMX: Snapshot LBR capabilities during module initialization KVM: x86/pmu: Do not mask LVTPC when handling a PMI on AMD platforms KVM: x86: Snapshot if a vCPU's vendor model is AMD vs. Intel compatible KVM: x86: Stop compiling vmenter.S with OBJECT_FILES_NON_STANDARD KVM: SVM: Create a stack frame in __svm_sev_es_vcpu_run() KVM: SVM: Save/restore args across SEV-ES VMRUN via host save area KVM: SVM: Save/restore non-volatile GPRs in SEV-ES VMRUN via host save area KVM: SVM: Clobber RAX instead of RBX when discarding spec_ctrl_intercepted KVM: SVM: Drop 32-bit "support" from __svm_sev_es_vcpu_run() KVM: SVM: Wrap __svm_sev_es_vcpu_run() with #ifdef CONFIG_KVM_AMD_SEV KVM: SVM: Create a stack frame in __svm_vcpu_run() for unwinding KVM: SVM: Remove a useless zeroing of allocated memory ...
2024-04-20Merge tag 'powerpc-6.9-3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: - Fix wireguard loading failure on pre-Power10 due to Power10 crypto routines - Fix papr-vpd selftest failure due to missing variable initialization - Avoid unnecessary get/put in spapr_tce_platform_iommu_attach_dev() Thanks to Geetika Moolchandani, Jason Gunthorpe, Michal Suchánek, Nathan Lynch, and Shivaprasad G Bhat. * tag 'powerpc-6.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: selftests/powerpc/papr-vpd: Fix missing variable initialization powerpc/crypto/chacha-p10: Fix failure on non Power10 powerpc/iommu: Refactor spapr_tce_platform_iommu_attach_dev()
2024-04-20Merge tag 'clk-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk fixes from Stephen Boyd: "A couple clk driver fixes, a build fix, and a deadlock fix: - Mediatek mt7988 has broken PCIe because the wrong parent is used - Mediatek clk drivers may deadlock when registering their clks because the clk provider device is repeatedly runtime PM resumed and suspended during probe and clk registration. Resuming the clk provider device deadlocks with an ABBA deadlock due to genpd_lock and the clk prepare_lock. The fix is to keep the device runtime resumed while registering clks. - Another runtime PM related deadlock, this time with disabling unused clks during late init. We get an ABBA deadlock where a device is runtime PM resuming (or suspending) while the disabling of unused clks is happening in parallel. That runtime PM action calls into the clk framework and tries to grab the clk prepare_lock while the disabling of unused clks holds the prepare_lock and is waiting for that runtime PM action to complete. The fix is to runtime resume all the clk provider devices before grabbing the clk prepare_lock during disable unused. - A build fix to provide an empty devm_clk_rate_exclusive_get() function when CONFIG_COMMON_CLK=n" * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: clk: mediatek: mt7988-infracfg: fix clocks for 2nd PCIe port clk: mediatek: Do a runtime PM get on controllers during probe clk: Get runtime PM before walking tree for clk_summary clk: Get runtime PM before walking tree during disable_unused clk: Initialize struct clk_core kref earlier clk: Don't hold prepare_lock when calling kref_put() clk: Remove prepare_lock hold assertion in __clk_release() clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get()
2024-04-20Revert "svcrdma: Add Write chunk WRs to the RPC's Send WR chain"Chuck Lever
Performance regression reported with NFS/RDMA using Omnipath, bisected to commit e084ee673c77 ("svcrdma: Add Write chunk WRs to the RPC's Send WR chain"). Tracing on the server reports: nfsd-7771 [060] 1758.891809: svcrdma_sq_post_err: cq.id=205 cid=226 sc_sq_avail=13643/851 status=-12 sq_post_err reports ENOMEM, and the rdma->sc_sq_avail (13643) is larger than rdma->sc_sq_depth (851). The number of available Send Queue entries is always supposed to be smaller than the Send Queue depth. That seems like a Send Queue accounting bug in svcrdma. As it's getting to be late in the 6.9-rc cycle, revert this commit. It can be revisited in a subsequent kernel release. Link: https://bugzilla.kernel.org/show_bug.cgi?id=218743 Fixes: e084ee673c77 ("svcrdma: Add Write chunk WRs to the RPC's Send WR chain") Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2024-04-20MAINTAINERS: update to working email addressJames Bottomley
jejb@linux.ibm.com no longer works. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2024-04-20bcachefs: Fix missing call to bch2_fs_allocator_background_exit()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-20bcachefs: Check for journal entries overruning end of sb clean sectionKent Overstreet
Fix a missing bounds check in superblock validation. Note that we don't yet have repair code for this case - repair code for individual items is generally low priority, since the whole superblock is checksummed, validated prior to write, and we have backups. Reported-by: lei lu <llfamsec@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-04-19Merge branch 'mlxsw-fixes'Jakub Kicinski
Petr Machata says: ==================== mlxsw: Fixes This patchset fixes the following issues: - During driver de-initialization the driver unregisters the EMAD response trap by setting its action to DISCARD. However the manual only permits TRAP and FORWARD, and future firmware versions will enforce this. In patch #1, suppress the error message by aligning the driver to the manual and use a FORWARD (NOP) action when unregistering the trap. - The driver queries the Management Capabilities Mask (MCAM) register during initialization to understand if certain features are supported. However, not all firmware versions support this register, leading to the driver failing to load. Patches #2 and #3 fix this issue by treating an error in the register query as an indication that the feature is not supported. v2: - Patch #2: - Make mlxsw_env_max_module_eeprom_len_query() void ==================== Link: https://lore.kernel.org/r/cover.1713446092.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-19mlxsw: pci: Fix driver initialization with old firmwareIdo Schimmel
The driver queries the Management Capabilities Mask (MCAM) register during initialization to understand if a new and deeper reset flow is supported. However, not all firmware versions support this register, leading to the driver failing to load. Fix by treating an error in the register query as an indication that the feature is not supported. Fixes: f257c73e5356 ("mlxsw: pci: Add support for new reset flow") Reported-by: Tim 'mithro' Ansell <me@mith.ro> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Petr Machata <petrm@nvidia.com> Link: https://lore.kernel.org/r/ee968c49d53bac96a4c66d1b09ebbd097d81aca5.1713446092.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-19mlxsw: core_env: Fix driver initialization with old firmwareIdo Schimmel
The driver queries the Management Capabilities Mask (MCAM) register during initialization to understand if it can read up to 128 bytes from transceiver modules. However, not all firmware versions support this register, leading to the driver failing to load. Fix by treating an error in the register query as an indication that the feature is not supported. Fixes: 1f4aea1f72da ("mlxsw: core_env: Read transceiver module EEPROM in 128 bytes chunks") Reported-by: Tim 'mithro' Ansell <me@mith.ro> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://lore.kernel.org/r/0afa8b2e8bac178f5f88211344429176dcc72281.1713446092.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-19mlxsw: core: Unregister EMAD trap using FORWARD actionIdo Schimmel
The device's manual (PRM - Programmer's Reference Manual) classifies the trap that is used to deliver EMAD responses as an "event trap". Among other things, it means that the only actions that can be associated with the trap are TRAP and FORWARD (NOP). Currently, during driver de-initialization the driver unregisters the trap by setting its action to DISCARD, which violates the above guideline. Future firmware versions will prevent such misuses by returning an error. This does not prevent the driver from working, but an error will be printed to the kernel log during module removal / devlink reload: mlxsw_spectrum 0000:03:00.0: Reg cmd access status failed (status=7(bad parameter)) mlxsw_spectrum 0000:03:00.0: Reg cmd access failed (reg_id=7003(hpkt),type=write) Suppress the error message by aligning the driver to the manual and use a FORWARD (NOP) action when unregistering the trap. Fixes: 4ec14b7634b2 ("mlxsw: Add interface to access registers and process events") Cc: Jiri Pirko <jiri@resnulli.us> Cc: Amit Cohen <amcohen@nvidia.com> Signed-off-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Petr Machata <petrm@nvidia.com> Link: https://lore.kernel.org/r/753a89e14008fde08cb4a2c1e5f537b81d8eb2d6.1713446092.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-19net: bcmasp: fix memory leak when bringing down interfaceJustin Chen
When bringing down the TX rings we flush the rings but forget to reclaimed the flushed packets. This leads to a memory leak since we do not free the dma mapped buffers. This also leads to tx control block corruption when bringing down the interface for power management. Fixes: 490cb412007d ("net: bcmasp: Add support for ASP2.0 Ethernet controller") Signed-off-by: Justin Chen <justin.chen@broadcom.com> Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://lore.kernel.org/r/20240418180541.2271719-1-justin.chen@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-19udp: preserve the connected status if only UDP cmsgYick Xie
If "udp_cmsg_send()" returned 0 (i.e. only UDP cmsg), "connected" should not be set to 0. Otherwise it stops the connected socket from using the cached route. Fixes: 2e8de8576343 ("udp: add gso segment cmsg") Signed-off-by: Yick Xie <yick.xie@gmail.com> Cc: stable@vger.kernel.org Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240418170610.867084-1-yick.xie@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-19ksmbd: add continuous availability share parameterNamjae Jeon
If capabilities of the share is not SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY, ksmbd should not grant a persistent handle to the client. This patch add continuous availability share parameter to control it. Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>