diff options
author | John Stultz <john.stultz@linaro.org> | 2011-07-08 15:58:56 -0700 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2011-07-08 15:58:56 -0700 |
commit | a448bfbd8e15bb2ed380a75f20adeb6e8d752abb (patch) | |
tree | 1ab81f3867a5f7e0e9a6cc06fac678d670c2d464 /drivers/net/wireless/rtlwifi/pci.c | |
parent | 2aced4d6099ce987233ab2ffad42b90800dadf09 (diff) | |
parent | 0226f8a76da6bc97c9bb4af3fd2f6eeb03c5b0b0 (diff) |
Merge branch 'upstream/android-3.0' into linaro-android-3.0
Diffstat (limited to 'drivers/net/wireless/rtlwifi/pci.c')
-rw-r--r-- | drivers/net/wireless/rtlwifi/pci.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c index 9f8ccae9331..254b64ba4bf 100644 --- a/drivers/net/wireless/rtlwifi/pci.c +++ b/drivers/net/wireless/rtlwifi/pci.c @@ -1624,6 +1624,16 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev, pci_read_config_byte(pdev, 0x8, &revisionid); pci_read_config_word(pdev, 0x3C, &irqline); + /* PCI ID 0x10ec:0x8192 occurs for both RTL8192E, which uses + * r8192e_pci, and RTL8192SE, which uses this driver. If the + * revision ID is RTL_PCI_REVISION_ID_8192PCIE (0x01), then + * the correct driver is r8192e_pci, thus this routine should + * return false. + */ + if (deviceid == RTL_PCI_8192SE_DID && + revisionid == RTL_PCI_REVISION_ID_8192PCIE) + return false; + if (deviceid == RTL_PCI_8192_DID || deviceid == RTL_PCI_0044_DID || deviceid == RTL_PCI_0047_DID || @@ -1856,7 +1866,8 @@ int __devinit rtl_pci_probe(struct pci_dev *pdev, pci_write_config_byte(pdev, 0x04, 0x07); /* find adapter */ - _rtl_pci_find_adapter(pdev, hw); + if (!_rtl_pci_find_adapter(pdev, hw)) + goto fail3; /* Init IO handler */ _rtl_pci_io_handler_init(&pdev->dev, hw); |