diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath12k/pci.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath12k/pci.c | 14 | 
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath12k/pci.c b/drivers/net/wireless/ath/ath12k/pci.c index 9f174daf324c..5990a55801f0 100644 --- a/drivers/net/wireless/ath/ath12k/pci.c +++ b/drivers/net/wireless/ath/ath12k/pci.c @@ -1227,8 +1227,20 @@ static int ath12k_pci_probe(struct pci_dev *pdev,  	case WCN7850_DEVICE_ID:  		ab_pci->msi_config = &ath12k_msi_config[0];  		ab->static_window_map = false; -		ab->hw_rev = ATH12K_HW_WCN7850_HW20;  		ab_pci->pci_ops = &ath12k_pci_ops_wcn7850; +		ath12k_pci_read_hw_version(ab, &soc_hw_version_major, +					   &soc_hw_version_minor); +		switch (soc_hw_version_major) { +		case ATH12K_PCI_SOC_HW_VERSION_2: +			ab->hw_rev = ATH12K_HW_WCN7850_HW20; +			break; +		default: +			dev_err(&pdev->dev, +				"Unknown hardware version found for WCN7850: 0x%x\n", +				soc_hw_version_major); +			ret = -EOPNOTSUPP; +			goto err_pci_free_region; +		}  		break;  	default:  |