Skip to contentSkip to conversation

New: atl1e: INFO: inconsistent lock state

Bugme-new Andrew Morton 3 participants 4 messages Oct 10, 2008 – Oct 11, 2008 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 126 lines · On Fri, 10 Oct 2008 14:14:12 -0700 (PDT) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=11736

           Summary: atl1e: INFO: inconsistent lock state
           Product: Drivers
           Version: 2.5
     KernelVersion: 2.6.27
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Network
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Latest working kernel version:
Earliest failing kernel version:
Distribution: Debian
Hardware Environment: eeePC 901
Software Environment:
Problem Description:
At boot the following message appears in the dmesg:

[   10.926640] ATL1E 0000:04:00.0: PCI INT A -> Link[LNKB] -> GSI 5 (level,
low) -> IRQ 5
[   10.941823] ATL1E 0000:04:00.0: setting latency timer to 64
[   42.441150] 
[   42.441156] =================================
[   42.450029] [ INFO: inconsistent lock state ]
[   42.450029] 2.6.27 #1
[   42.450029] ---------------------------------
[   42.450029] inconsistent {hardirq-on-W} -> {in-hardirq-W} usage.
[   42.450029] ifconfig/1315 [HC1[1]:SC0[0]:HE0:SE1] takes:
[   42.450029]  (&adapter->mdio_lock){+-..}, at: [<f89e4499>]
atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029] {hardirq-on-W} state was registered at:
[   42.450029]   [<c0139364>] mark_lock+0xf4/0x830
[   42.450029]   [<c013a459>] __lock_acquire+0x2e9/0x1380
[   42.450029]   [<c02a2bbf>] pci_conf1_read+0xaf/0xf0
[   42.450029]   [<c0139cc9>] debug_check_no_locks_freed+0x79/0x130
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c013b54d>] lock_acquire+0x5d/0x80
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<c0305e60>] _spin_lock+0x30/0x40
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<c01ef988>] pci_match_device+0xa8/0xc0
[   42.450029]   [<c01efd26>] pci_device_probe+0x56/0x80
[   42.450029]   [<c025a375>] driver_probe_device+0x75/0x150
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c025a4c2>] __driver_attach+0x72/0x80
[   42.450029]   [<c0259a3c>] bus_for_each_dev+0x3c/0x60
[   42.450029]   [<c025a1e6>] driver_attach+0x16/0x20
[   42.450029]   [<c025a450>] __driver_attach+0x0/0x80
[   42.450029]   [<c0259e92>] bus_add_driver+0xb2/0x230
[   42.450029]   [<c01ef820>] pci_device_shutdown+0x0/0x20
[   42.450029]   [<c01efc70>] pci_device_remove+0x0/0x40
[   42.450029]   [<c025a64d>] driver_register+0x4d/0x120
[   42.450029]   [<c01ea6a2>] __spin_lock_init+0x32/0x70
[   42.450029]   [<f8860000>] snd_mixer_oss_conv+0x0/0x50 [snd_mixer_oss]
[   42.450029]   [<c01eff88>] __pci_register_driver+0x58/0xa0
[   42.450029]   [<f8860000>] snd_mixer_oss_conv+0x0/0x50 [snd_mixer_oss]
[   42.450029]   [<c0101122>] do_one_initcall+0x32/0x160
[   42.450029]   [<c0145530>] disable_irq+0x0/0x30
[   42.450029]   [<c0304ac5>] __mutex_unlock_slowpath+0x95/0xe0
[   42.450029]   [<c0143429>] sys_init_module+0x89/0x1b0
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c01de344>] trace_hardirqs_on_thunk+0xc/0x10
[   42.450029]   [<c01030d6>] syscall_call+0x7/0xb
[   42.450029]   [<ffffffff>] 0xffffffff
[   42.450029] irq event stamp: 4564
[   42.450029] hardirqs last  enabled at (4563): [<c01652b5>]
kmem_cache_free+0x65/0x90
[   42.450029] hardirqs last disabled at (4564): [<c01de354>]
trace_hardirqs_off_thunk+0xc/0x18
[   42.450029] softirqs last  enabled at (4532): [<c02b1d1c>]
dev_change_flags+0x5c/0x1a0
[   42.450029] softirqs last disabled at (4530): [<c0305e7b>]
_spin_lock_bh+0xb/0x40
[   42.450029] 
[   42.450029] other info that might help us debug this:
[   42.450029] 1 lock held by ifconfig/1315:
[   42.450029]  #0:  (rtnl_mutex){--..}, at: [<c02ed5c1>]
devinet_ioctl+0xf1/0x670
[   42.450029] 
[   42.450029] stack backtrace:
[   42.450029] Pid: 1315, comm: ifconfig Not tainted 2.6.27 #1
[   42.450029]  [<c0138944>] print_usage_bug+0x174/0x190
[   42.450029]  [<c01399c5>] mark_lock+0x755/0x830
[   42.450029]  [<c013ac85>] __lock_acquire+0xb15/0x1380
[   42.450029]  [<c013a5be>] __lock_acquire+0x44e/0x1380
[   42.450029]  [<c013a5be>] __lock_acquire+0x44e/0x1380
[   42.450029]  [<c013b54d>] lock_acquire+0x5d/0x80
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<c0305e60>] _spin_lock+0x30/0x40
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<c0306246>] _spin_lock_irqsave+0x46/0x60
[   42.450029]  [<c0144fa0>] handle_IRQ_event+0x20/0x60
[   42.450029]  [<c01467fd>] handle_level_irq+0x6d/0xe0
[   42.450029]  [<c0104f63>] do_IRQ+0x53/0xa0
[   42.450029]  [<c0103280>] common_interrupt+0x28/0x30
[   42.450029]  [<f89e53c4>] atl1e_up+0x424/0x4a0 [atl1e]
[   42.450029]  [<f89e41f0>] atl1e_intr+0x0/0x440 [atl1e]
[   42.450029]  [<c0145985>] request_irq+0xa5/0xc0
[   42.450029]  [<f89e5c5d>] atl1e_open+0xdd/0x390 [atl1e]
[   42.450029]  [<c02b3b44>] dev_open+0x54/0xb0
[   42.450029]  [<c02b1d1c>] dev_change_flags+0x5c/0x1a0
[   42.450029]  [<c011f82b>] local_bh_enable_ip+0x6b/0xb0
[   42.450029]  [<c02b1d3e>] dev_change_flags+0x7e/0x1a0
[   42.450029]  [<c02ed9de>] devinet_ioctl+0x50e/0x670
[   42.450029]  [<c02a4f5f>] sock_ioctl+0xcf/0x250
[   42.450029]  [<c02a4e90>] sock_ioctl+0x0/0x250
[   42.450029]  [<c017448f>] vfs_ioctl+0x1f/0x70
[   42.450029]  [<c0110eb3>] do_page_fault+0xf3/0x680
[   42.450029]  [<c017453c>] do_vfs_ioctl+0x5c/0x260
[   42.450029]  [<c017477d>] sys_ioctl+0x3d/0x70
[   42.450029]  [<c01030d6>] syscall_call+0x7/0xb
[   42.450029]  =======================
[   42.916493] ATL1E 0000:04:00.0: ATL1E: eth0 NIC Link is Up<100 Mbps Full

Duplex>

Steps to reproduce: boot the system

#2 lore raw

Copying Jie Yang, the atl1e author, as I'm not certain he's on atl1-devel.

Jie --

What do you make of this?

-- Chris

Quoted 140 lines · Andrew Morton

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 119 lines · On Fri, 10 Oct 2008 14:14:12 -0700 (PDT) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=11736

           Summary: atl1e: INFO: inconsistent lock state
           Product: Drivers
           Version: 2.5
     KernelVersion: 2.6.27
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Network
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Latest working kernel version:
Earliest failing kernel version:
Distribution: Debian
Hardware Environment: eeePC 901
Software Environment:
Problem Description:
At boot the following message appears in the dmesg:

[   10.926640] ATL1E 0000:04:00.0: PCI INT A -> Link[LNKB] -> GSI 5 (level,
low) -> IRQ 5
[   10.941823] ATL1E 0000:04:00.0: setting latency timer to 64
[   42.441150] [   42.441156] =================================
[   42.450029] [ INFO: inconsistent lock state ]
[   42.450029] 2.6.27 #1
[   42.450029] ---------------------------------
[   42.450029] inconsistent {hardirq-on-W} -> {in-hardirq-W} usage.
[   42.450029] ifconfig/1315 [HC1[1]:SC0[0]:HE0:SE1] takes:
[   42.450029]  (&adapter->mdio_lock){+-..}, at: [<f89e4499>]
atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029] {hardirq-on-W} state was registered at:
[   42.450029]   [<c0139364>] mark_lock+0xf4/0x830
[   42.450029]   [<c013a459>] __lock_acquire+0x2e9/0x1380
[   42.450029]   [<c02a2bbf>] pci_conf1_read+0xaf/0xf0
[   42.450029]   [<c0139cc9>] debug_check_no_locks_freed+0x79/0x130
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c013b54d>] lock_acquire+0x5d/0x80
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<c0305e60>] _spin_lock+0x30/0x40
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<c01ef988>] pci_match_device+0xa8/0xc0
[   42.450029]   [<c01efd26>] pci_device_probe+0x56/0x80
[   42.450029]   [<c025a375>] driver_probe_device+0x75/0x150
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c025a4c2>] __driver_attach+0x72/0x80
[   42.450029]   [<c0259a3c>] bus_for_each_dev+0x3c/0x60
[   42.450029]   [<c025a1e6>] driver_attach+0x16/0x20
[   42.450029]   [<c025a450>] __driver_attach+0x0/0x80
[   42.450029]   [<c0259e92>] bus_add_driver+0xb2/0x230
[   42.450029]   [<c01ef820>] pci_device_shutdown+0x0/0x20
[   42.450029]   [<c01efc70>] pci_device_remove+0x0/0x40
[   42.450029]   [<c025a64d>] driver_register+0x4d/0x120
[   42.450029]   [<c01ea6a2>] __spin_lock_init+0x32/0x70
[   42.450029]   [<f8860000>] snd_mixer_oss_conv+0x0/0x50 [snd_mixer_oss]
[   42.450029]   [<c01eff88>] __pci_register_driver+0x58/0xa0
[   42.450029]   [<f8860000>] snd_mixer_oss_conv+0x0/0x50 [snd_mixer_oss]
[   42.450029]   [<c0101122>] do_one_initcall+0x32/0x160
[   42.450029]   [<c0145530>] disable_irq+0x0/0x30
[   42.450029]   [<c0304ac5>] __mutex_unlock_slowpath+0x95/0xe0
[   42.450029]   [<c0143429>] sys_init_module+0x89/0x1b0
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c01de344>] trace_hardirqs_on_thunk+0xc/0x10
[   42.450029]   [<c01030d6>] syscall_call+0x7/0xb
[   42.450029]   [<ffffffff>] 0xffffffff
[   42.450029] irq event stamp: 4564
[   42.450029] hardirqs last  enabled at (4563): [<c01652b5>]
kmem_cache_free+0x65/0x90
[   42.450029] hardirqs last disabled at (4564): [<c01de354>]
trace_hardirqs_off_thunk+0xc/0x18
[   42.450029] softirqs last  enabled at (4532): [<c02b1d1c>]
dev_change_flags+0x5c/0x1a0
[   42.450029] softirqs last disabled at (4530): [<c0305e7b>]
_spin_lock_bh+0xb/0x40
[   42.450029] [   42.450029] other info that might help us debug this:
[   42.450029] 1 lock held by ifconfig/1315:
[   42.450029]  #0:  (rtnl_mutex){--..}, at: [<c02ed5c1>]
devinet_ioctl+0xf1/0x670
[   42.450029] [   42.450029] stack backtrace:
[   42.450029] Pid: 1315, comm: ifconfig Not tainted 2.6.27 #1
[   42.450029]  [<c0138944>] print_usage_bug+0x174/0x190
[   42.450029]  [<c01399c5>] mark_lock+0x755/0x830
[   42.450029]  [<c013ac85>] __lock_acquire+0xb15/0x1380
[   42.450029]  [<c013a5be>] __lock_acquire+0x44e/0x1380
[   42.450029]  [<c013a5be>] __lock_acquire+0x44e/0x1380
[   42.450029]  [<c013b54d>] lock_acquire+0x5d/0x80
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<c0305e60>] _spin_lock+0x30/0x40
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<c0306246>] _spin_lock_irqsave+0x46/0x60
[   42.450029]  [<c0144fa0>] handle_IRQ_event+0x20/0x60
[   42.450029]  [<c01467fd>] handle_level_irq+0x6d/0xe0
[   42.450029]  [<c0104f63>] do_IRQ+0x53/0xa0
[   42.450029]  [<c0103280>] common_interrupt+0x28/0x30
[   42.450029]  [<f89e53c4>] atl1e_up+0x424/0x4a0 [atl1e]
[   42.450029]  [<f89e41f0>] atl1e_intr+0x0/0x440 [atl1e]
[   42.450029]  [<c0145985>] request_irq+0xa5/0xc0
[   42.450029]  [<f89e5c5d>] atl1e_open+0xdd/0x390 [atl1e]
[   42.450029]  [<c02b3b44>] dev_open+0x54/0xb0
[   42.450029]  [<c02b1d1c>] dev_change_flags+0x5c/0x1a0
[   42.450029]  [<c011f82b>] local_bh_enable_ip+0x6b/0xb0
[   42.450029]  [<c02b1d3e>] dev_change_flags+0x7e/0x1a0
[   42.450029]  [<c02ed9de>] devinet_ioctl+0x50e/0x670
[   42.450029]  [<c02a4f5f>] sock_ioctl+0xcf/0x250
[   42.450029]  [<c02a4e90>] sock_ioctl+0x0/0x250
[   42.450029]  [<c017448f>] vfs_ioctl+0x1f/0x70
[   42.450029]  [<c0110eb3>] do_page_fault+0xf3/0x680
[   42.450029]  [<c017453c>] do_vfs_ioctl+0x5c/0x260
[   42.450029]  [<c017477d>] sys_ioctl+0x3d/0x70
[   42.450029]  [<c01030d6>] syscall_call+0x7/0xb
[   42.450029]  =======================
[   42.916493] ATL1E 0000:04:00.0: ATL1E: eth0 NIC Link is Up<100 Mbps Full
Quoted 4 lines

Duplex>

Steps to reproduce: boot the system

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
atl1-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/atl1-devel

#3 lore raw
Quoted 138 lines · On Fri, 10 Oct 2008 17:31:43 -0400 Chris Snook <[email protected]> wrote:

Copying Jie Yang, the atl1e author, as I'm not certain he's on atl1-devel.

Jie --

What do you make of this?

-- Chris

Quoted 128 lines · Andrew Morton

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 122 lines · On Fri, 10 Oct 2008 14:14:12 -0700 (PDT) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=11736

           Summary: atl1e: INFO: inconsistent lock state
           Product: Drivers
           Version: 2.5
     KernelVersion: 2.6.27
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Network
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Latest working kernel version:
Earliest failing kernel version:
Distribution: Debian
Hardware Environment: eeePC 901
Software Environment:
Problem Description:
At boot the following message appears in the dmesg:

[   10.926640] ATL1E 0000:04:00.0: PCI INT A -> Link[LNKB] -> GSI
5 (level, low) -> IRQ 5
[   10.941823] ATL1E 0000:04:00.0: setting latency timer to 64
[   42.441150] 
[   42.441156] =================================
[   42.450029] [ INFO: inconsistent lock state ]
[   42.450029] 2.6.27 #1
[   42.450029] ---------------------------------
[   42.450029] inconsistent {hardirq-on-W} -> {in-hardirq-W} usage.
[   42.450029] ifconfig/1315 [HC1[1]:SC0[0]:HE0:SE1] takes:
[   42.450029]  (&adapter->mdio_lock){+-..}, at: [<f89e4499>]
atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029] {hardirq-on-W} state was registered at:
[   42.450029]   [<c0139364>] mark_lock+0xf4/0x830
[   42.450029]   [<c013a459>] __lock_acquire+0x2e9/0x1380
[   42.450029]   [<c02a2bbf>] pci_conf1_read+0xaf/0xf0
[   42.450029]   [<c0139cc9>] debug_check_no_locks_freed+0x79/0x130
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c013b54d>] lock_acquire+0x5d/0x80
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<c0305e60>] _spin_lock+0x30/0x40
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<f89e831b>] atl1e_probe+0x48b/0x6d0 [atl1e]
[   42.450029]   [<c01ef988>] pci_match_device+0xa8/0xc0
[   42.450029]   [<c01efd26>] pci_device_probe+0x56/0x80
[   42.450029]   [<c025a375>] driver_probe_device+0x75/0x150
[   42.450029]   [<c0139c24>] trace_hardirqs_on_caller+0xa4/0xc0
[   42.450029]   [<c025a4c2>] __driver_attach+0x72/0x80
[   42.450029]   [<c0259a3c>] bus_for_each_dev+0x3c/0x60
[   42.450029]   [<c025a1e6>] driver_attach+0x16/0x20
[   42.450029]   [<c025a450>] __driver_attach+0x0/0x80
[   42.450029]   [<c0259e92>] bus_add_driver+0xb2/0x230
[   42.450029]   [<c01ef820>] pci_device_shutdown+0x0/0x20
[   42.450029]   [<c01efc70>] pci_device_remove+0x0/0x40
[   42.450029]   [<c025a64d>] driver_register+0x4d/0x120
[   42.450029]   [<c01ea6a2>] __spin_lock_init+0x32/0x70
[   42.450029]   [<f8860000>] snd_mixer_oss_conv+0x0/0x50
[snd_mixer_oss] [   42.450029]   [<c01eff88>]
__pci_register_driver+0x58/0xa0 [   42.450029]   [<f8860000>]
snd_mixer_oss_conv+0x0/0x50 [snd_mixer_oss] [   42.450029]
[<c0101122>] do_one_initcall+0x32/0x160 [   42.450029]
[<c0145530>] disable_irq+0x0/0x30 [   42.450029]   [<c0304ac5>]
__mutex_unlock_slowpath+0x95/0xe0 [   42.450029]   [<c0143429>]
sys_init_module+0x89/0x1b0 [   42.450029]   [<c0139c24>]
trace_hardirqs_on_caller+0xa4/0xc0 [   42.450029]   [<c01de344>]
trace_hardirqs_on_thunk+0xc/0x10 [   42.450029]   [<c01030d6>]
syscall_call+0x7/0xb [   42.450029]   [<ffffffff>] 0xffffffff
[   42.450029] irq event stamp: 4564
[   42.450029] hardirqs last  enabled at (4563): [<c01652b5>]
kmem_cache_free+0x65/0x90
[   42.450029] hardirqs last disabled at (4564): [<c01de354>]
trace_hardirqs_off_thunk+0xc/0x18
[   42.450029] softirqs last  enabled at (4532): [<c02b1d1c>]
dev_change_flags+0x5c/0x1a0
[   42.450029] softirqs last disabled at (4530): [<c0305e7b>]
_spin_lock_bh+0xb/0x40
[   42.450029] 
[   42.450029] other info that might help us debug this:
[   42.450029] 1 lock held by ifconfig/1315:
[   42.450029]  #0:  (rtnl_mutex){--..}, at: [<c02ed5c1>]
devinet_ioctl+0xf1/0x670
[   42.450029] 
[   42.450029] stack backtrace:
[   42.450029] Pid: 1315, comm: ifconfig Not tainted 2.6.27 #1
[   42.450029]  [<c0138944>] print_usage_bug+0x174/0x190
[   42.450029]  [<c01399c5>] mark_lock+0x755/0x830
[   42.450029]  [<c013ac85>] __lock_acquire+0xb15/0x1380
[   42.450029]  [<c013a5be>] __lock_acquire+0x44e/0x1380
[   42.450029]  [<c013a5be>] __lock_acquire+0x44e/0x1380
[   42.450029]  [<c013b54d>] lock_acquire+0x5d/0x80
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<c0305e60>] _spin_lock+0x30/0x40
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<f89e4499>] atl1e_intr+0x2a9/0x440 [atl1e]
[   42.450029]  [<c0306246>] _spin_lock_irqsave+0x46/0x60
[   42.450029]  [<c0144fa0>] handle_IRQ_event+0x20/0x60
[   42.450029]  [<c01467fd>] handle_level_irq+0x6d/0xe0
[   42.450029]  [<c0104f63>] do_IRQ+0x53/0xa0
[   42.450029]  [<c0103280>] common_interrupt+0x28/0x30
[   42.450029]  [<f89e53c4>] atl1e_up+0x424/0x4a0 [atl1e]
[   42.450029]  [<f89e41f0>] atl1e_intr+0x0/0x440 [atl1e]
[   42.450029]  [<c0145985>] request_irq+0xa5/0xc0
[   42.450029]  [<f89e5c5d>] atl1e_open+0xdd/0x390 [atl1e]
[   42.450029]  [<c02b3b44>] dev_open+0x54/0xb0
[   42.450029]  [<c02b1d1c>] dev_change_flags+0x5c/0x1a0
[   42.450029]  [<c011f82b>] local_bh_enable_ip+0x6b/0xb0
[   42.450029]  [<c02b1d3e>] dev_change_flags+0x7e/0x1a0
[   42.450029]  [<c02ed9de>] devinet_ioctl+0x50e/0x670
[   42.450029]  [<c02a4f5f>] sock_ioctl+0xcf/0x250
[   42.450029]  [<c02a4e90>] sock_ioctl+0x0/0x250
[   42.450029]  [<c017448f>] vfs_ioctl+0x1f/0x70
[   42.450029]  [<c0110eb3>] do_page_fault+0xf3/0x680
[   42.450029]  [<c017453c>] do_vfs_ioctl+0x5c/0x260
[   42.450029]  [<c017477d>] sys_ioctl+0x3d/0x70
[   42.450029]  [<c01030d6>] syscall_call+0x7/0xb
[   42.450029]  =======================
[   42.916493] ATL1E 0000:04:00.0: ATL1E: eth0 NIC Link is Up<100

This patch didn't make it into 2.6.27:

commit f382a0a8e9403c6d7f8b2cfa21e41fefb5d0c9bd

Author: Matthew Wilcox <[email protected]>
Date:   Tue Aug 12 07:13:14 2008 -0600

[netdrvr] atl1e: Don't take the mdio_lock in atl1e_probe

Lockdep warns about the mdio_lock taken with interrupts enabled then later taken from interrupt context. Initially, I considered changing these to spin_lock_irq/spin_unlock_irq, but then I looked at atl1e_phy_init() and saw that it calls msleep(). Sleeping while holding a spinlock is not allowed either.

In the probe path, we haven't registered the interrupt handler, so it can't poke at this card yet. It's before we call register_netdev(), so I don't think any other threads can reach this card either. If I'm right, we don't need a spinlock at all.

drivers/net/atl1e/atl1e_main.c +0 -2
index 7685b99..9b60352 100644
@@ -2390,9 +2390,7 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,
        }
 
        /* Init GPHY as early as possible due to power saving issue  */
-       spin_lock(&adapter->mdio_lock);
        atl1e_phy_init(&adapter->hw);
-       spin_unlock(&adapter->mdio_lock);
        /* reset the controller to
         * put the device in a known good starting state */
        err = atl1e_reset_hw(&adapter->hw);

Jeff applied it to one of his trees on 13 September.
http://marc.info/?l=linux-netdev&m=122133579023691&w=2

I guess it slipped into davem's net-next instead of net.

I'll submit it to -stable.

Jay

#4 lore raw
Quoted 37 lines · On Fri, 10 Oct 2008 19:11:33 -0500 Jay Cliburn <[email protected]> wrote:
Quoted 33 lines · On Fri, 10 Oct 2008 17:31:43 -0400 Chris Snook <[email protected]> wrote:

Copying Jie Yang, the atl1e author, as I'm not certain he's on atl1-devel.

Jie --

What do you make of this?

-- Chris

Quoted 23 lines · Andrew Morton

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 17 lines · On Fri, 10 Oct 2008 14:14:12 -0700 (PDT) [email protected] wrote:

http://bugzilla.kernel.org/show_bug.cgi?id=11736

           Summary: atl1e: INFO: inconsistent lock state
           Product: Drivers
           Version: 2.5
     KernelVersion: 2.6.27
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Network
        AssignedTo: [email protected]
        ReportedBy: [email protected]
Quoted 3 lines

...

This patch didn't make it into 2.6.27:

urgh, well that's a pickle.

Quoted 36 lines

commit f382a0a8e9403c6d7f8b2cfa21e41fefb5d0c9bd

Author: Matthew Wilcox <[email protected]>
Date:   Tue Aug 12 07:13:14 2008 -0600

[netdrvr] atl1e: Don't take the mdio_lock in atl1e_probe

Lockdep warns about the mdio_lock taken with interrupts enabled then later taken from interrupt context. Initially, I considered changing these to spin_lock_irq/spin_unlock_irq, but then I looked at atl1e_phy_init() and saw that it calls msleep(). Sleeping while holding a spinlock is not allowed either.

In the probe path, we haven't registered the interrupt handler, so it can't poke at this card yet. It's before we call register_netdev(), so I don't think any other threads can reach this card either. If I'm right, we don't need a spinlock at all.

drivers/net/atl1e/atl1e_main.c +0 -2
index 7685b99..9b60352 100644
@@ -2390,9 +2390,7 @@ static int __devinit atl1e_probe(struct pci_dev *pdev,
        }
 
        /* Init GPHY as early as possible due to power saving issue  */
-       spin_lock(&adapter->mdio_lock);
        atl1e_phy_init(&adapter->hw);
-       spin_unlock(&adapter->mdio_lock);
        /* reset the controller to
         * put the device in a known good starting state */
        err = atl1e_reset_hw(&adapter->hw);
Quoted 6 lines

Jeff applied it to one of his trees on 13 September.
http://marc.info/?l=linux-netdev&m=122133579023691&w=2

I guess it slipped into davem's net-next instead of net.

I'll submit it to -stable.

OK, thanks.