lkml.org 
[lkml]   [2008]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 02/10] ide: fix EXABYTENEST handling in probe_for_drive()
    Fix EXABYTENEST handling in probe_for_drive() (so drive->present
    is checked for "nested" device) and cleanup enable_nest().

    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    ---
    drivers/ide/ide-probe.c | 16 +++++++---------
    1 file changed, 7 insertions(+), 9 deletions(-)

    Index: b/drivers/ide/ide-probe.c
    ===================================================================
    --- a/drivers/ide/ide-probe.c
    +++ b/drivers/ide/ide-probe.c
    @@ -542,11 +542,6 @@ static void enable_nest (ide_drive_t *dr
    printk(KERN_CONT "failed (status = 0x%02x)\n", stat);
    else
    printk(KERN_CONT "success\n");
    -
    - /* if !(success||timed-out) */
    - if (do_probe(drive, ATA_CMD_ID_ATA) >= 2)
    - /* look for ATAPI device */
    - (void)do_probe(drive, ATA_CMD_ID_ATAPI);
    }

    /**
    @@ -586,19 +581,22 @@ static inline u8 probe_for_drive (ide_dr
    strcpy(m, "UNKNOWN");

    /* skip probing? */
    - if (!drive->noprobe)
    - {
    + if (!drive->noprobe) {
    +retry:
    /* if !(success||timed-out) */
    if (do_probe(drive, ATA_CMD_ID_ATA) >= 2)
    /* look for ATAPI device */
    (void)do_probe(drive, ATA_CMD_ID_ATAPI);
    +
    if (!drive->present)
    /* drive not found */
    return 0;

    - if (strstr(m, "E X A B Y T E N E S T"))
    + if (strstr(m, "E X A B Y T E N E S T")) {
    enable_nest(drive);
    -
    + goto retry;
    + }
    +
    /* identification failed? */
    if (!drive->id_read) {
    if (drive->media == ide_disk) {

    \
     
     \ /
      Last update: 2008-07-26 15:45    [W:0.023 / U:0.144 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site