@@ -673,6 +673,8 @@ VISIBLE_IF_IWLWIFI_KUNIT const struct iwl_dev_info iwl_dev_info_table[] = {
673673
674674 IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_sff_name ,
675675 DEVICE (0x0082 ), SUBDEV_MASKED (0xC000 , 0xF000 )),
676+ IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_sff_name ,
677+ DEVICE (0x0085 ), SUBDEV_MASKED (0xC000 , 0xF000 )),
676678 IWL_DEV_INFO (iwl6005_n_cfg , iwl6005_2agn_d_name ,
677679 DEVICE (0x0082 ), SUBDEV (0x4820 )),
678680 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[] = {
729731 DEVICE (0x0083 ), SUBDEV_MASKED (0x5 , 0xF )),
730732 IWL_DEV_INFO (iwl1000_bg_cfg , iwl1000_bg_name ,
731733 DEVICE (0x0083 ), SUBDEV_MASKED (0x6 , 0xF )),
734+ IWL_DEV_INFO (iwl1000_bgn_cfg , iwl1000_bgn_name ,
735+ DEVICE (0x0084 ), SUBDEV_MASKED (0x5 , 0xF )),
732736 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 )),
736738
737739/* 100 Series WiFi */
738740 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[] = {
964966 DEVICE (0x24F3 ), SUBDEV (0x0004 )),
965967 IWL_DEV_INFO (iwl8260_cfg , iwl8260_2n_name ,
966968 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 )),
967975 IWL_DEV_INFO (iwl8265_cfg , iwl8265_2ac_name ,
968976 DEVICE (0x24FD )),
969977 IWL_DEV_INFO (iwl8265_cfg , iwl8275_2ac_name ,
@@ -1222,11 +1230,15 @@ static int _iwl_pci_resume(struct device *device, bool restore)
12221230 * Note: MAC (bits 0:7) will be cleared upon suspend even with wowlan,
12231231 * but not bits [15:8]. So if we have bits set in lower word, assume
12241232 * 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.
12251235 * For older devices, just try silently to grab the NIC.
12261236 */
12271237 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 )
12301242 device_was_powered_off = true;
12311243 } else {
12321244 /*
0 commit comments