diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00pci.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00pci.c | 10 | 
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c index 0feb4d0e4668..047123b766fc 100644 --- a/drivers/net/wireless/rt2x00/rt2x00pci.c +++ b/drivers/net/wireless/rt2x00/rt2x00pci.c @@ -41,6 +41,9 @@ int rt2x00pci_regbusy_read(struct rt2x00_dev *rt2x00dev,  {  	unsigned int i; +	if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags)) +		return 0; +  	for (i = 0; i < REGISTER_BUSY_COUNT; i++) {  		rt2x00pci_register_read(rt2x00dev, offset, reg);  		if (!rt2x00_get_field32(*reg, field)) @@ -269,7 +272,6 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)  	struct ieee80211_hw *hw;  	struct rt2x00_dev *rt2x00dev;  	int retval; -	u16 chip;  	retval = pci_request_regions(pci_dev, pci_name(pci_dev));  	if (retval) { @@ -312,12 +314,6 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)  	rt2x00_set_chip_intf(rt2x00dev, RT2X00_CHIP_INTF_PCI); -	/* -	 * Determine RT chipset by reading PCI header. -	 */ -	pci_read_config_word(pci_dev, PCI_DEVICE_ID, &chip); -	rt2x00_set_chip_rt(rt2x00dev, chip); -  	retval = rt2x00pci_alloc_reg(rt2x00dev);  	if (retval)  		goto exit_free_device;  |