lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[45/90] Revert "ide: try to use PIO Mode 0 during probe if possible"
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: David S. Miller <davem@davemloft.net>

    [ Upstream commit 0fb18c4777ff424c1db694af98443a201fa4fc30 ]

    This reverts commit 6029336426a2b43e4bc6f4a84be8789a047d139e.

    Ok, we really do need to revert this, even with Bart's sis5513.c
    fix in there.

    The problem is that several driver's ->set_pio_mode() method
    depends upon the drive->media type being set properly. Most
    of them use this to enable prefetching, which can only be done
    for disk media.

    But the commit being reverted here calls ->set_pio_mode() before
    it's setup. Actually it considers everything disk because that
    is the default media type set by ide_port_init_devices_data().

    The set of drivers that depend upon the media type in their
    ->set_pio_method() are:

    drivers/ide/alim15x3.c
    drivers/ide/it8172.c
    drivers/ide/it8213.c
    drivers/ide/pdc202xx_old.c
    drivers/ide/piix.c
    drivers/ide/qd65xx.c
    drivers/ide/sis5513.c
    drivers/ide/slc90e66.c

    And it is possible that we could fix this by guarding the prefetching
    and other media dependent setting changes with a test on
    IDE_PFLAG_PROBING in hwif->port_flags, that's simply too risky for
    2.6.32-rcX and -stable.

    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/ide/ide-probe.c | 9 ---------
    1 file changed, 9 deletions(-)

    --- a/drivers/ide/ide-probe.c
    +++ b/drivers/ide/ide-probe.c
    @@ -1035,15 +1035,6 @@ static void ide_port_init_devices(ide_hw
    if (port_ops && port_ops->init_dev)
    port_ops->init_dev(drive);
    }
    -
    - ide_port_for_each_dev(i, drive, hwif) {
    - /*
    - * default to PIO Mode 0 before we figure out
    - * the most suited mode for the attached device
    - */
    - if (port_ops && port_ops->set_pio_mode)
    - port_ops->set_pio_mode(drive, 0);
    - }
    }

    static void ide_init_port(ide_hwif_t *hwif, unsigned int port,



    \
     
     \ /
      Last update: 2009-12-17 02:41    [W:4.093 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site