linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger.net>
To: Darshan Kumar NANDANWAR <Darshan.KN@st.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
	wireless <linux-wireless@vger.kernel.org>,
	Srikrishna Pramoda ATIKUKKE <srikrishna.pramodaatikukke@st.com>
Subject: Re: insmod RTL8192CE OOPS on 2.6.32.16
Date: Thu, 22 Dec 2011 10:06:52 -0600	[thread overview]
Message-ID: <4EF3559C.9060500@lwfinger.net> (raw)
In-Reply-To: <D6068D304DED1F4FBFC1F56ECFA211D85A1EA7BE7A@EAPEX1MAIL1.st.com>

[-- Attachment #1: Type: text/plain, Size: 756 bytes --]

On 12/22/2011 04:09 AM, Darshan Kumar NANDANWAR wrote:
> OOPs is in  following instruction :
> pcipriv->ndis_adapter.pcibridge_vendorid = bridge_pdev->vendor;
> 656:       15 0a           mov.w   r1,@(r0,r10)
> I have attached the objdump aswell ..
>
>>> The fix came with commit b6b67df3f24c45af0012ee, which is dated Jul 29.
> What is this all about? Could you point to  this commit?

Kernel source is now maintained using git, which keeps track of changes using 
the sha1sum of the changes. The ID above is the leading digits of that sum.

The patch in question is attached. It handles the cases where the self member of 
the pci_bus struct is not present. It appears not to have been applied to your 
source. Does this patch fix your problem?

Larry



[-- Attachment #2: patch_b6b67df --]
[-- Type: text/plain, Size: 2211 bytes --]

commit b6b67df3f24c45af0012ee3c8af2f62ca083ae18
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Fri Jul 29 10:53:12 2011 -0500

    rtlwifi: Fix kernel oops on ARM SOC
    
    This driver uses information from the self member of the pci_bus struct to
    get information regarding the bridge to which the PCIe device is attached.
    Unfortunately, this member is not established on all architectures, which
    leads to a kernel oops.
    
    Skipping the entire block that uses the self member to determine the bridge
    vendor will only affect RTL8192DE devices as that driver sets the ASPM support
    flag differently when the bridge vendor is Intel. If the self member is
    available, there is no functional change.
    
    This patch fixes Bugzilla No. 40212.
    
    Reported-by: Hubert Liao <liao.hubertt@gmail.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Stable <stable@kernel.org> [back to 2.6.38]
    Signed-off-by: John W. Linville <linville@tuxdriver.com>

diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c
index 5efd578..56f1235 100644
--- a/drivers/net/wireless/rtlwifi/pci.c
+++ b/drivers/net/wireless/rtlwifi/pci.c
@@ -1696,15 +1696,17 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev,
 	pcipriv->ndis_adapter.devnumber = PCI_SLOT(pdev->devfn);
 	pcipriv->ndis_adapter.funcnumber = PCI_FUNC(pdev->devfn);
 
-	/*find bridge info */
-	pcipriv->ndis_adapter.pcibridge_vendorid = bridge_pdev->vendor;
-	for (tmp = 0; tmp < PCI_BRIDGE_VENDOR_MAX; tmp++) {
-		if (bridge_pdev->vendor == pcibridge_vendors[tmp]) {
-			pcipriv->ndis_adapter.pcibridge_vendor = tmp;
-			RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
-				 ("Pci Bridge Vendor is found index: %d\n",
-				  tmp));
-			break;
+	if (bridge_pdev) {
+		/*find bridge info if available */
+		pcipriv->ndis_adapter.pcibridge_vendorid = bridge_pdev->vendor;
+		for (tmp = 0; tmp < PCI_BRIDGE_VENDOR_MAX; tmp++) {
+			if (bridge_pdev->vendor == pcibridge_vendors[tmp]) {
+				pcipriv->ndis_adapter.pcibridge_vendor = tmp;
+				RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG,
+					 ("Pci Bridge Vendor is found index:"
+					 " %d\n", tmp));
+				break;
+			}
 		}
 	}
 

  parent reply	other threads:[~2011-12-22 16:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <D6068D304DED1F4FBFC1F56ECFA211D85A1EA7BBF0@EAPEX1MAIL1.st.com>
2011-12-21 14:54 ` insmod RTL8192CE OOPS on 2.6.32.16 Larry Finger
2011-12-21 15:16   ` John W. Linville
2011-12-21 19:38     ` Larry Finger
     [not found]       ` <D6068D304DED1F4FBFC1F56ECFA211D85A1EA7BE7A@EAPEX1MAIL1.st.com>
2011-12-22 16:06         ` Larry Finger [this message]
2011-12-23  9:02           ` Darshan Kumar NANDANWAR
2011-12-23 16:22             ` Larry Finger
     [not found]               ` <CAHeY5QcXDdi73nGC5F=-WWHzBzz1W7sj5har4L=_Ah_5xa0yBw@mail.gmail.com>
2011-12-23 20:15                 ` Larry Finger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EF3559C.9060500@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=Darshan.KN@st.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=srikrishna.pramodaatikukke@st.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).