lkml.org 
[lkml]   [2007]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRegression: 2.6.22-rcX: hda: lost interrupt
    Folks,

    After updating an x86_64 machine from 2.6.21 to 2.6.22-rc6 and
    fighting off the where-the-fuck-did-my-serial-console-go blues
    (legacy_serial.force), I finally discovered why the damn thing
    wasn't booting - the machine was sitting there in a loop outputting
    "hda: lost interrupt" over and over again during hardware
    discovery (hda = dvd drive).

    It doesn't happen on every boot - more boots hung than failed,
    though, while I was trying to work out where my serial port
    went and get some work done.

    Since I've had the console operative, the boot hangs are
    basically like:

    ESB2: IDE controller at PCI slot 0000:00:1f.1
    ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 20 (level, low) -> IRQ20
    ESB2: chipset revision 9
    ESB2: not 100% native mode: will probe irqs later
    ide0: DM-DMA at 0x50a0-0x50a7, BIOS settings: hda:DMA, hdb:pio
    ide1: DM-DMA at 0x50a8-0x50af, BIOS settings: hda:pio, hdb:pio
    Probing IDE interface ide0...
    hda: probing with STATUS(0xa0) instead of ALTSTATUS(0x58)
    hda: <some ctrl char>, ATAPI UNKNOWN (type 31) drive
    hdb: probing with STATUS(0xb0) instead of ALTSTATUS(0x00)
    hdb: probing with STATUS(0xa1) instead of ALTSTATUS(0x51)
    hdb: <some ctrl char>, ATAPI UNKNOWN (type 31) drive
    hda: set_drive_speed_status: status=0x58 { DriveReady SeekComplete DataRequest }
    hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
    hda: set_drive_speed_status: error=0x04 { AbortedCommand }
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    hda: lost interrupt
    ......

    The success boots I've had (looking at the boot logs) have all
    failed to discover the dvd drive correctly except one. The
    one that dsicovered it still had errors, though. Errors
    look like:

    ESB2: IDE controller at PCI slot 0000:00:1f.1
    ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 20 (level, low) -> IRQ20
    ESB2: chipset revision 9
    ESB2: not 100% native mode: will probe irqs later
    ide0: DM-DMA at 0x50a0-0x50a7, BIOS settings: hda:DMA, hdb:pio
    ide1: DM-DMA at 0x50a8-0x50af, BIOS settings: hda:pio, hdb:pio
    Probing IDE interface ide0...
    hda: probing with STATUS(0xa0) instead of ALTSTATUS(0x58)
    hda: <some ctrl char>, ATAPI UNKNOWN (type 31) drive
    hdb: probing with STATUS(0xb0) instead of ALTSTATUS(0x00)
    hdb: probing with STATUS(0xa1) instead of ALTSTATUS(0x51)
    hdb: <some ctrl char>, ATAPI UNKNOWN (type 31) drive
    hda: set_drive_speed_status: status=0x58 { DriveReady SeekComplete DataRequest }
    hda: selected mode 0x0
    hda: set_drive_speed_status: status=0x58 { DriveReady SeekComplete DataRequest }
    hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
    hda: set_drive_speed_status: error=0x04 { AbortedCommand }
    hda: selected mode 0x0
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

    Another failure mode:

    hda: probing with STATUS(0xa0) instead of ALTSTATUS(0x58)
    hda: <some ctrl char>, ATAPI UNKNOWN (type 31) drive
    hdb: probing with STATUS(0xb0) instead of ALTSTATUS(0x00)
    hdb: probing with STATUS(0xb0) instead of ALTSTATUS(0x00)
    hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
    hda: set_drive_speed_status: error=0x04 { AbortedCommand }
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: lost interrupt
    hda: task_in_intr: status=0x51 { DriveReady SeekComplete Error }
    hda: task_in_intr: error=0x04 { AbortedCommand }
    ide: failed opcode was: 0xa1

    And another:

    hda: host side 80-wire cable detection failed, limiting max speed to UDMA33
    hda: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error }
    hda: set_drive_speed_status: error=0x04 { AbortedCommand }
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: lost interrupt

    And other boots were a combination of the ones above.

    And the boot that really read the drive type properly but had
    scary warnings:

    ESB2: IDE controller at PCI slot 0000:00:1f.1
    ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 20 (level, low) -> IRQ20
    ESB2: chipset revision 9
    ESB2: not 100% native mode: will probe irqs later
    ide0: DM-DMA at 0x50a0-0x50a7, BIOS settings: hda:DMA, hdb:pio
    ide1: DM-DMA at 0x50a8-0x50af, BIOS settings: hda:pio, hdb:pio
    Probing IDE interface ide0...
    hda: DV-28E-R, ATAPI CD/DVD-ROM drive
    hda: selected mode 0x42
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: ATAPI 24X DVD-ROM drive, 256kB Cache, UDMA(33)
    Uniform CD-ROM driver Revision: 3.20
    hda: status error: status=0x50 { DriveReady SeekComplete }
    ide: failed opcode was: unknown
    hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
    ide: failed opcode was: unknown
    hda: drive not ready for command
    hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
    ide: failed opcode was: unknown
    hda: drive not ready for command
    <repeat another 10 times>

    I haven't seen any failures like this on 2.6.21 or earlier, so
    this is appears to be new to 2.6.22-rc.

    Cheers,

    Dave.
    --
    Dave Chinner
    Principal Engineer
    SGI Australian Software Group
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-29 14:45    [W:0.032 / U:0.744 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site