This is a note to let you know that I've just added the patch titled

    staging: r8192e_pci: Handle duplicate PCI ID 0x10ec:0x8192 conflict

to my staging git tree which can be found at
    git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6.git
in the staging-next branch.

The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)

The patch will also will be merged in the next major kernel release
during the merge window.

If you have any questions about this process, please let me know.


>From 1c50bf7e415cf6ce9545dbecc2ac0d89d3916c53 Mon Sep 17 00:00:00 2001
From: Larry Finger <larry.fin...@lwfinger.net>
Date: Sat, 18 Jun 2011 22:34:34 -0500
Subject: staging: r8192e_pci: Handle duplicate PCI ID 0x10ec:0x8192 conflict
 with rtl8192se

There are two devices with PCI ID 0x10ec:0x8192, namely RTL8192E and
RTL8192SE. The method of distinguishing them is by the revision ID
at offset 0x8 of the PCI configuration space. If the value is 0x10,
then the device uses rtl8192se for a driver.

Signed-off-by: Larry Finger <larry.fin...@lwfinger.net>
Cc: Stable <sta...@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gre...@suse.de>
---
 drivers/staging/rtl8192e/r8192E_core.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/rtl8192e/r8192E_core.c 
b/drivers/staging/rtl8192e/r8192E_core.c
index 58d800f..cd98f89 100644
--- a/drivers/staging/rtl8192e/r8192E_core.c
+++ b/drivers/staging/rtl8192e/r8192E_core.c
@@ -4532,6 +4532,7 @@ static int __devinit rtl8192_pci_probe(struct pci_dev 
*pdev,
        u8 unit = 0;
        int ret = -ENODEV;
        unsigned long pmem_start, pmem_len, pmem_flags;
+       u8 revisionid;
 
        RT_TRACE(COMP_INIT,"Configuring chip resources\n");
 
@@ -4592,6 +4593,11 @@ static int __devinit rtl8192_pci_probe(struct pci_dev 
*pdev,
          pci_write_config_byte(pdev, 0x41, 0x00);
 
 
+       pci_read_config_byte(pdev, 0x08, &revisionid);
+       /* If the revisionid is 0x10, the device uses rtl8192se. */
+       if (pdev->device == 0x8192 && revisionid == 0x10)
+               goto fail1;
+
        pci_read_config_byte(pdev, 0x05, &unit);
        pci_write_config_byte(pdev, 0x05, unit & (~0x04));
 
-- 
1.7.6


_______________________________________________
stable mailing list
stable@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to