I tested the same kernel and newer ones and had the same problem on one of my systems. Did this bisect:
git bisect start
# good: [ac6766564c0305ca020fe747dfd7dbdf0881369d] Linux 3.0.12
git bisect good ac6766564c0305ca020fe747dfd7dbdf0881369d
# bad: [d986a8dbfd7358bfbda116650c4caf8a3b90d865] Linux 3.0.13
git bisect bad d986a8dbfd7358bfbda116650c4caf8a3b90d865
# good: [08d618b2080d8b3afac6db1a361c54d827b8d044] drm/radeon/kms: add some new pci ids
git bisect good 08d618b2080d8b3afac6db1a361c54d827b8d044
# good: [c060a3d5e9bba4271331b69b9e2c53105999b97f] x86: Fix "Acer Aspire 1" reboot hang
git bisect good c060a3d5e9bba4271331b69b9e2c53105999b97f
# good: [edb9a31845c5ba0ff325daa58f17f881d60d1559] xfs: force buffer writeback before blocking on the ilock in inode reclaim
git bisect good edb9a31845c5ba0ff325daa58f17f881d60d1559
# good: [d80dee54533aa4bfe29def921edb31715fdba214] tick-broadcast: Stop active broadcast device when replacing it
git bisect good d80dee54533aa4bfe29def921edb31715fdba214
# good: [0bbf5c70251286fbc3b7aac5e7961b4568115bfd] oprofile: Fix crash when unloading module (hr timer mode)
git bisect good 0bbf5c70251286fbc3b7aac5e7961b4568115bfd
# bad: [b01b383bbd04e9dcf7d9fe6ca3751b77ccdc533c] clockevents: Set noop handler in clockevents_exchange_device()
git bisect bad b01b383bbd04e9dcf7d9fe6ca3751b77ccdc533c
# good: [4078977c46f627f553ed2d8ea047b9bf25dee48d] clocksource: Fix bug with max_deferment margin calculation
git bisect good 4078977c46f627f553ed2d8ea047b9bf25dee48d
Result:
b01b383bbd04e9dcf7d9fe6ca3751b77ccdc533c is the first bad commit
commit b01b383bbd04e9dcf7d9fe6ca3751b77ccdc533c
Author: Thomas Gleixner <email address hidden>
Date: Fri Dec 2 16:02:45 2011 +0100
clockevents: Set noop handler in clockevents_exchange_device()
If a device is shutdown, then there might be a pending interrupt,
which will be processed after we reenable interrupts, which causes the
original handler to be run. If the old handler is the (broadcast)
periodic handler the shutdown state might hang the kernel completely.
I tested the same kernel and newer ones and had the same problem on one of my systems. Did this bisect:
git bisect start ca020fe747dfd7d bdf0881369d] Linux 3.0.12 a020fe747dfd7db df0881369d bfbda116650c4ca f8a3b90d865] Linux 3.0.13 fbda116650c4caf 8a3b90d865 3afac6db1a361c5 4d827b8d044] drm/radeon/kms: add some new pci ids afac6db1a361c54 d827b8d044 271331b69b9e2c5 3105999b97f] x86: Fix "Acer Aspire 1" reboot hang 71331b69b9e2c53 105999b97f 0ff325daa58f17f 881d60d1559] xfs: force buffer writeback before blocking on the ilock in inode reclaim ff325daa58f17f8 81d60d1559 bfe29def921edb3 1715fdba214] tick-broadcast: Stop active broadcast device when replacing it fe29def921edb31 715fdba214 fbc3b7aac5e7961 b4568115bfd] oprofile: Fix crash when unloading module (hr timer mode) bc3b7aac5e7961b 4568115bfd dcf7d9fe6ca3751 b77ccdc533c] clockevents: Set noop handler in clockevents_ exchange_ device( ) cf7d9fe6ca3751b 77ccdc533c f553ed2d8ea047b 9bf25dee48d] clocksource: Fix bug with max_deferment margin calculation 553ed2d8ea047b9 bf25dee48d
# good: [ac6766564c0305
git bisect good ac6766564c0305c
# bad: [d986a8dbfd7358
git bisect bad d986a8dbfd7358b
# good: [08d618b2080d8b
git bisect good 08d618b2080d8b3
# good: [c060a3d5e9bba4
git bisect good c060a3d5e9bba42
# good: [edb9a31845c5ba
git bisect good edb9a31845c5ba0
# good: [d80dee54533aa4
git bisect good d80dee54533aa4b
# good: [0bbf5c70251286
git bisect good 0bbf5c70251286f
# bad: [b01b383bbd04e9
git bisect bad b01b383bbd04e9d
# good: [4078977c46f627
git bisect good 4078977c46f627f
Result:
b01b383bbd04e9d cf7d9fe6ca3751b 77ccdc533c is the first bad commit cf7d9fe6ca3751b 77ccdc533c
commit b01b383bbd04e9d
Author: Thomas Gleixner <email address hidden>
Date: Fri Dec 2 16:02:45 2011 +0100
clockevents: Set noop handler in clockevents_ exchange_ device( )
commit de28f25e8244c73 53abed8de0c7792 f5f883588c upstream.
If a device is shutdown, then there might be a pending interrupt,
which will be processed after we reenable interrupts, which causes the
original handler to be run. If the old handler is the (broadcast)
periodic handler the shutdown state might hang the kernel completely.
Signed-off-by: Thomas Gleixner <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
:040000 040000 b5dba6238e4accc 62febbb9bd67c89 c27eeb077b 67fa1fc6a94b92a 1fa3cc14018e447 a0d387451a M kernel
A revert fixed the issue, also tested with 3.0.14.