@@ -673,6 +673,8 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
673
673
674
674
IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_sff_name ,
675
675
DEVICE (0x0082 ), SUBDEV_MASKED (0xC000 , 0xF000 )),
676
+ IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_sff_name ,
677
+ DEVICE (0x0085 ), SUBDEV_MASKED (0xC000 , 0xF000 )),
676
678
IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_d_name ,
677
679
DEVICE (0x0082 ), SUBDEV (0x4820 )),
678
680
IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_mow1_name ,
@@ -729,10 +731,10 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
729
731
DEVICE (0x0083 ), SUBDEV_MASKED (0x5 , 0xF )),
730
732
IWL_DEV_INFO (iwl1000_bg_cfg , iwl1000_bg_name ,
731
733
DEVICE (0x0083 ), SUBDEV_MASKED (0x6 , 0xF )),
734
+ IWL_DEV_INFO (iwl1000_bgn_cfg , iwl1000_bgn_name ,
735
+ DEVICE (0x0084 ), SUBDEV_MASKED (0x5 , 0xF )),
732
736
IWL_DEV_INFO (iwl1000_bg_cfg , iwl1000_bg_name ,
733
- DEVICE (0x0084 ), SUBDEV (0x1216 )),
734
- IWL_DEV_INFO (iwl1000_bg_cfg , iwl1000_bg_name ,
735
- DEVICE (0x0084 ), SUBDEV (0x1316 )),
737
+ DEVICE (0x0084 ), SUBDEV_MASKED (0x6 , 0xF )),
736
738
737
739
/* 100 Series WiFi */
738
740
IWL_DEV_INFO (iwl100_bgn_cfg , iwl100_bgn_name ,
@@ -964,6 +966,12 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
964
966
DEVICE (0x24F3 ), SUBDEV (0x0004 )),
965
967
IWL_DEV_INFO (iwl8260_cfg , iwl8260_2n_name ,
966
968
DEVICE (0x24F3 ), SUBDEV (0x0044 )),
969
+ IWL_DEV_INFO (iwl8260_cfg , iwl8260_2ac_name ,
970
+ DEVICE (0x24F4 )),
971
+ IWL_DEV_INFO (iwl8260_cfg , iwl4165_2ac_name ,
972
+ DEVICE (0x24F5 )),
973
+ IWL_DEV_INFO (iwl8260_cfg , iwl4165_2ac_name ,
974
+ DEVICE (0x24F6 )),
967
975
IWL_DEV_INFO (iwl8265_cfg , iwl8265_2ac_name ,
968
976
DEVICE (0x24FD )),
969
977
IWL_DEV_INFO (iwl8265_cfg , iwl8275_2ac_name ,
@@ -1222,11 +1230,15 @@ static int _iwl_pci_resume(struct device *device, bool restore)
1222
1230
* Note: MAC (bits 0:7) will be cleared upon suspend even with wowlan,
1223
1231
* but not bits [15:8]. So if we have bits set in lower word, assume
1224
1232
* the device is alive.
1233
+ * Alternatively, if the scratch value is 0xFFFFFFFF, then we no longer
1234
+ * have access to the device and consider it powered off.
1225
1235
* For older devices, just try silently to grab the NIC.
1226
1236
*/
1227
1237
if (trans -> mac_cfg -> device_family >= IWL_DEVICE_FAMILY_BZ ) {
1228
- if (!(iwl_read32 (trans , CSR_FUNC_SCRATCH ) &
1229
- CSR_FUNC_SCRATCH_POWER_OFF_MASK ))
1238
+ u32 scratch = iwl_read32 (trans , CSR_FUNC_SCRATCH );
1239
+
1240
+ if (!(scratch & CSR_FUNC_SCRATCH_POWER_OFF_MASK ) ||
1241
+ scratch == ~0U )
1230
1242
device_was_powered_off = true;
1231
1243
} else {
1232
1244
/*
0 commit comments