I booted a 3.0 kernel (i686) on a relatively old hardware, on a server which was running 2.6.32 stable series for a long while. And at the first boot I see the following messages in dmesg: ... [ 2.817314] mptbase: ioc0: Initiating bringup [ 3.230016] ioc0: LSI53C1030 B2: Capabilities={Initiator} [ 4.120665] scsi2 : ioc0: LSI53C1030 B2, FwRev=01000e00h, Ports=1, MaxQ=222, IRQ=27 [ 4.489143] mptspi 0000:08:07.1: PCI INT B -> GSI 28 (level, low) -> IRQ 28 [ 4.489361] mptbase: ioc1: Initiating bringup [ 19.486696] mptbase: ioc0: WARNING - Issuing Reset from mpt_config!!, doorbell=0x24000000 [ 20.126685] mptbase: ioc0: Attempting Retry Config request type 0x4, page 0x1, action 2 [ 20.126831] mptbase: ioc0: Retry completed ret=0x0 timeleft=4500 [ 20.127697] scsi 2:0:0:0: Direct-Access IBM-ESXS DTN073C3UCDY10FN S25J PQ: 0 ANSI: 3 ... [ 22.604075] sd 2:0:3:0: [sdd] Attached SCSI disk [ 22.635177] ------------[ cut here ]------------ [ 22.635290] WARNING: at block/genhd.c:1474 __disk_unblock_events+0xe1/0xf0() [ 22.635371] Hardware name: eserver xSeries 345 -[867052G]- [ 22.635448] Modules linked in: mptspi(+) mptscsih mptbase scsi_transport_spi e1000 ohci_hcd pata_serverworks libata usbhid hid usbcore sd_mod scsi_mod crc_t10dif [ 22.636260] Pid: 271, comm: blkid Not tainted 3.0.0-i686 #3.0.23 [ 22.636334] Call Trace: [ 22.636407] [] ? warn_slowpath_common+0x78/0xb0 [ 22.636482] [] ? __disk_unblock_events+0xe1/0xf0 [ 22.636556] [] ? __disk_unblock_events+0xe1/0xf0 [ 22.636631] [] ? warn_slowpath_null+0x1b/0x20 [ 22.636705] [] ? __disk_unblock_events+0xe1/0xf0 [ 22.636783] [] ? __blkdev_get+0x157/0x3c0 [ 22.636856] [] ? blkdev_get+0x43/0x2b0 [ 22.636931] [] ? security_dentry_open+0x70/0x80 [ 22.637006] [] ? bd_acquire+0x28/0xc0 [ 22.637080] [] ? __dentry_open+0x118/0x2b0 [ 22.637154] [] ? nameidata_to_filp+0x68/0x70 [ 22.637228] [] ? blkdev_get+0x2b0/0x2b0 [ 22.637302] [] ? do_last+0xcd/0x820 [ 22.637375] [] ? get_empty_filp+0x11b/0x1d0 [ 22.637449] [] ? path_openat+0xa1/0x370 [ 22.637523] [] ? do_filp_open+0x34/0x90 [ 22.637597] [] ? irq_exit+0x31/0xa0 [ 22.637672] [] ? call_function_interrupt+0x2a/0x30 [ 22.637746] [] ? do_sys_open+0xee/0x1c0 [ 22.637820] [] ? sys_open+0x2c/0x40 [ 22.637892] [] ? sysenter_do_call+0x12/0x28 [ 22.637963] ---[ end trace 9071b164502805fa ]--- [ 22.645185] sd 2:0:2:0: [sdc] Attached SCSI disk [ 22.659254] sd 2:0:4:0: [sde] Attached SCSI disk [ 34.493348] mptbase: ioc1: ERROR - Wait IOC_READY state (0x20000000) timeout(15)! [ 38.883345] ioc1: LSI53C1030 B2: Capabilities={Initiator} [ 39.283343] ioc0: LSI53C1030 B2: Capabilities={Initiator} [ 40.567328] scsi3 : ioc1: LSI53C1030 B2, FwRev=01000e00h, Ports=1, MaxQ=222, IRQ=28 ... This is 3.0.23. Line 1474 of block/genhd.c is like this: static void __disk_unblock_events(struct gendisk *disk, bool check_now) { struct disk_events *ev = disk->ev; ... if (WARN_ON_ONCE(ev->block <= 0)) <==== this one goto out_unlock; ... The machine has the following SCSI controller: 08:07.1 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 07) Subsystem: IBM Device 026c Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-