diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00pci.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00pci.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c index 0a4653a92ca..a0c8caef3b0 100644 --- a/drivers/net/wireless/rt2x00/rt2x00pci.c +++ b/drivers/net/wireless/rt2x00/rt2x00pci.c @@ -256,6 +256,7 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops)  	struct ieee80211_hw *hw;  	struct rt2x00_dev *rt2x00dev;  	int retval; +	u16 chip;  	retval = pci_enable_device(pci_dev);  	if (retval) { @@ -305,6 +306,14 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops)  	if (retval)  		goto exit_free_device; +	/* +	 * Because rt3290 chip use different efuse offset to read efuse data. +	 * So before read efuse it need to indicate it is the +	 * rt3290 or not. +	 */ +	pci_read_config_word(pci_dev, PCI_DEVICE_ID, &chip); +	rt2x00dev->chip.rt = chip; +  	retval = rt2x00lib_probe_dev(rt2x00dev);  	if (retval)  		goto exit_free_reg;  |