On Mon, 2005-05-09 at 07:31 -0700, David Brownell wrote:
> On Monday 09 May 2005 2:25 am, John Steele Scott wrote:
> > On Sun, 2005-05-08 at 13:13 -0700, David Brownell wrote:
> 
> > Just to follow up on this, I just recently had the following oops:
> > 
> > Oops: kernel access of bad area, sig: 11 [#1]
> > NIP: DA50DEE8 LR: DA4A2498 SP: D3173D90 REGS: d3173ce0 TRAP: 0300    Not 
> > tainted
> > MSR: 0200b032 EE: 1 PR: 0 FP: 1 ME: 1 IR/DR: 11
> > DAR: 000018A8, DSISR: 40000000
> > TASK = d7ae4110[4325] 'pbbuttonsd' THREAD: d3172000
> > Last syscall: 54
> > GPR00: 00000000 D3173D90 D7AE4110 00000000 00000010 00000001 C0330F4C 
> > C0330DDC
> > GPR08: 00000000 00000000 DA518850 D54216D8 28000482 10026C18 100C0000 
> > 100A0000
> > GPR16: 00000000 100D7408 28222482 100C0000 100D6F28 100D6AE8 10001180 
> > 1000BF7C
> > GPR24: C02B0000 C02DAF5C C02E0000 C02E0000 C02DAF54 D5421768 C02B5648 
> > D54216D8
> > NIP [da50dee8] hid_resume+0x20/0x48 [usbhid]
> 
> And what's at that location?  Presumably it doesn't happen if you
> disconnect the HID device before suspend?  Is this with or without
> CONFIG_USB_SUSPEND?

hid_resume+0x20 would be something like:

static int hid_resume(struct usb_interface *intf)
{
        struct hid_device *hid = usb_get_intfdata (intf);
        int status;

        intf->dev.power.power_state = PMSG_ON;
--->    if (hid->open)
                status = usb_submit_urb(hid->urbin, GFP_NOIO);
        else
                status = 0;
        dev_dbg(&intf->dev, "resume status %d\n", status);
        return status;
}

It tries to dereference 0x18A8 which is a bogus pointer, _BUT_ is also
the offset of open in "hid" (looking at the disassembly). So basically,
the problem here is that "hid" is NULL (race race race ?)

Ben.



-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to