[lkml]   [2003]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: IDE todo list
    On Sat, Mar 22, 2003 at 07:07:21PM +0000, Alan Cox wrote:
    > On Sat, 2003-03-22 at 17:24, Petr Vandrovec wrote:
    > > any hope that promise 20265 driver could detect non-udma66 cable
    > > and run at udma2 only? BIOS properly detect this, but Linux driver
    > > wants to use udma100, and usually dies hard with CRC errors during
    > > reading of PTBL extended chain (it also should not lockup when
    > > CRC error happens 5 times in a row, but ...).
    > The five CRC in a row is what causes the DMA->PIO changedown. That
    > implies there is a real bug in the error handling locking, or in
    > the driver handling of that.
    > Can you throw some printks into the ide code and see what kind of
    > a death you get when it tries to change back to PIO.
    > As to the cable stuff, I'll take a look at it in time, but both
    > need fixing

    This one fixes lockup, but I'm not actually sure that it is better
    than before, as both channels are downgraded to the PIO:

    ... CRC error stuff ...
    PDC202XX: Secondary channel reset
    PDC202XX: Primary channel reset
    ide3: reset: master: error (0x00?)
    ... USB stuff & so on, before mounting root ...
    ... repeat 4 times:
    hde: dma_timer_expiry: dma status = 0x21
    hde: timeout waiting for DMA
    PDC202XX: Primary channel reset
    PDC202XX: Secondary channel reset
    hde: timeout waiting for DMA
    ... end of repeat
    VFS: Mounted root (ext2 filesystem) readonly.
    Freeing unused kernel memory: 292k freed

    It looks like that hde resurrecting did not cause any damage to the
    filesystems (and obviously hde is completely innocent udma100 citizen;
    hdg is the only one which should be turned to udma2 or pio).

    And strange thing, once I was lucky enough to read partition table from
    hdg, so I could run atapci, and it reports that hde host interface is setup
    for UDMA4, while hdg for UDMA2. So host hardware is actually probably set
    ok, it is just "hdg: 234441648 sectors (120034 MB) w/2048KiB Cache,
    CHS=232581/16/63, UDMA(100)" which contains wrong value, and hdg itself,
    which says that udma5 is selected (and does not work).
    Petr Vandrovec

    --- linux-2.5.65-c1197.dist/drivers/ide/ide-iops.c 2003-03-22 15:29:16.000000000 +0100
    +++ linux-2.5.65-c1197/drivers/ide/ide-iops.c 2003-03-23 04:26:14.000000000 +0100
    @@ -902,7 +902,7 @@
    * Select the drive, and issue the SETFEATURES command
    - disable_irq(hwif->irq); /* disable_irq_nosync ?? */
    + disable_irq_nosync(hwif->irq);
    SELECT_MASK(drive, 0);
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at
     \ /
      Last update: 2005-03-22 13:34    [W:0.022 / U:5.416 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site