1. 10 6月, 2007 8 次提交
  2. 09 6月, 2007 1 次提交
  3. 05 6月, 2007 2 次提交
    • D
      65d8bac3
    • T
      libata: always use polling SETXFER · 464cf177
      Tejun Heo 提交于
      Several people have reported LITE-ON LTR-48246S detection failed
      because SETXFER fails.  It seems the device raises IRQ too early after
      SETXFER.  This is controller independent.  The same problem has been
      reported for different controllers.
      
      So, now we have pata_via where the controller raises IRQ before it's
      ready after SETXFER and a device which does similar thing.  This patch
      makes libata always execute SETXFER via polling.  As this only happens
      during EH, performance impact is nil.  Setting ATA_TFLAG_POLLING is
      also moved from issue hot path to ata_dev_set_xfermode() - the only
      place where SETXFER can be issued.
      
      Note that ATA_TFLAG_POLLING applies only to drivers which implement
      SFF TF interface and use libata HSM.  More advanced controllers ignore
      the flag.  This doesn't matter for this fix as SFF TF controllers are
      the problematic ones.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      464cf177
  4. 04 6月, 2007 1 次提交
  5. 28 5月, 2007 1 次提交
  6. 26 5月, 2007 2 次提交
  7. 25 5月, 2007 12 次提交
  8. 22 5月, 2007 7 次提交
  9. 18 5月, 2007 4 次提交
  10. 16 5月, 2007 2 次提交
    • T
      libata: track spindown status and skip spindown_compat if possible · 13b8d09f
      Tejun Heo 提交于
      Our assumption that most distros issue STANDBYNOW seems wrong.  The
      upstream sysvinit and thus many distros including gentoo and opensuse
      don't take any action for libata disks on spindown.  We can skip
      compat handling for these distros so that they don't need to update
      anything to take advantage of kernel-side shutdown.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      13b8d09f
    • T
      libata: fix shutdown warning message printing · da071b42
      Tejun Heo 提交于
      Unlocking ap->lock and ssleeping don't work because SCSI commands can
      be issued from completion path without context.  Reimplement delayed
      completion by allowing translation functions to override
      qc->scsidone(), storing the original completion function to
      scmd->scsi_done() and overriding qc->scsidone() with a function which
      schedules delayed invocation of scmd->scsi_done().
      
      This isn't pretty at all but all the ugly parts are thankfully
      contained in the stop translation path where the compat feature is
      implemented.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      da071b42