Hi, while resuming my laptop after a suspend, I see the following in my dmesg. My kernel is running 2.6.31-rc7 . I am not subscribed to the list, so please cc me while replying. [ 1968.716951] Restarting tasks ... [ 1968.717893] BUG: unable to handle kernel NULL pointer dereference at 00000002 [ 1968.717905] IP: [<f866bbb3>] hub_thread+0x233/0x2260 [usbcore] [ 1968.717969] *pde = 00000000 [ 1968.717976] Oops: 0000 [#1] SMP [ 1968.717984] last sysfs file: /sys/power/state [ 1968.717992] Modules linked in: tun ext4 jbd2 crc16 loop af_packet binfmt_misc radeon drm i2c_core ppdev ipv6 pci_slot container sbs sbshc nsc_ircc ircomm_tty ircomm lp parport snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_pcm_oss snd_mixer_oss snd_pcm arc4 snd_seq_dummy snd_seq_oss ecb snd_seq_midi snd_rawmidi snd_seq_midi_event iwl3945 snd_seq iwlcore pcmcia snd_timer snd_seq_device joydev mac80211 thinkpad_acpi yenta_socket iTCO_wdt iTCO_vendor_support cfg80211 intel_agp snd led_class rsrc_nonstatic psmouse soundcore irda pcmcia_core rfkill serio_raw agpgart snd_page_alloc pcspkr evdev nvram battery ac processor crc_ccitt video output button ext3 jbd mbcache sg sr_mod cdrom ata_generic pata_acpi ehci_hcd ata_piix ahci uhci_hcd usbcore e1000e thermal fan fuse [last unloaded: ohsm] [ 1968.718149] [ 1968.718159] Pid: 1439, comm: khubd Not tainted (2.6.31-rc7 #4) 200849A [ 1968.718168] EIP: 0060:[<f866bbb3>] EFLAGS: 00010246 CPU: 1 [ 1968.718218] EIP is at hub_thread+0x233/0x2260 [usbcore] [ 1968.718226] EAX: 00000000 EBX: c3e54a1c ECX: c3dfc440 EDX: c3dfc400 [ 1968.718235] ESI: c3e57f8c EDI: f866b980 EBP: c3e57fb8 ESP: c3e57ee4 [ 1968.718244] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 1968.718254] Process khubd (pid: 1439, ti=c3e56000 task=c3f43ed0 task.ti=c3e56000) [ 1968.718260] Stack: [ 1968.718265] c3e57f0c c01022b2 c504d120 00000000 00000000 c3e57f14 c015362e c3f43240 [ 1968.718281] <0> c3dfc440 c0981120 c3dfc448 00000009 c3e54a1c c3dfc400 c3e54a00 f70dfc00 [ 1968.718300] <0> c3dfc444 f70dfc98 c3dfc408 c0158d2d c3e57f78 660c6b95 00000001 000009f2 [ 1968.718317] Call Trace: [ 1968.718332] [<c01022b2>] ? __switch_to+0x142/0x370 [ 1968.718346] [<c015362e>] ? finish_task_switch+0x7e/0x220 [ 1968.718360] [<c0158d2d>] ? try_to_wake_up+0x1ed/0x5c0 [ 1968.718376] [<c019af20>] ? autoremove_wake_function+0x0/0x70 [ 1968.718387] [<c0149af3>] ? complete+0x73/0x90 [ 1968.718449] [<f866b980>] ? hub_thread+0x0/0x2260 [usbcore] [ 1968.718461] [<c019a902>] ? kthread+0xc2/0xe0 [ 1968.718472] [<c019a840>] ? kthread+0x0/0xe0 [ 1968.718483] [<c0105727>] ? kernel_thread_helper+0x7/0x10 [ 1968.718490] Code: e9 5d fe ff ff 8d 76 00 8b 8d 60 ff ff ff 8b 41 30 85 c0 0f 85 8f 15 00 00 8b 95 60 ff ff ff 8b 42 4c 8d 4a 40 89 8d 4c ff ff ff <80> 78 02 00 0f 84 e3 0c 00 00 8b 85 60 ff ff ff 8b 95 60 ff ff [ 1968.718571] EIP: [<f866bbb3>] hub_thread+0x233/0x2260 [usbcore] SS:ESP 0068:c3e57ee4 [ 1968.718631] CR2: 0000000000000002 With my limited knowledge I tried debugging above oops .... and think that line 3138 in usb/core/hub.c is problematic. The corresponding offending assembly is :- 11496 .L674: 11497 .loc 1 3138 0 11498 movl -160(%ebp), %edx # hub, 11499 movl 76(%edx), %eax # <variable>.descriptor, <variable>.descriptor 11500 leal 64(%edx), %ecx #, 11501 movl %ecx, -180(%ebp) #, 11502 cmpb $0, 2(%eax) # <variable>.bNbrPorts ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3136 3137 /* deal with port status changes */ 3138 for (i = 1; i <= hub->descriptor->bNbrPorts; i++) { 3139 if (test_bit(i, hub->busy_bits)) 3140 continue; 3141 connect_change = test_bit(i, hub->change_bits); 3142 if (!test_and_clear_bit(i, hub->event_bits) && 3143 !connect_change) 3144 continue; -- Thanks - Manish -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html