1. 02 9月, 2009 1 次提交
  2. 12 8月, 2009 1 次提交
  3. 29 7月, 2009 1 次提交
  4. 15 7月, 2009 1 次提交
  5. 23 6月, 2009 2 次提交
  6. 10 6月, 2009 1 次提交
  7. 12 5月, 2009 1 次提交
    • B
      libata: fix suspend/resume for ATA SEMB devices · f0d0613d
      Borislav Petkov 提交于
      79b42bab fixed identifying ATA devices
      reporting 3c/c3 signature which belongs to SEMB devices now. However,
      suspending the machine with such device (WDC WD2500AAJS-6 01.0) fails
      with the following:
      
      hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
      hda: UDMA/100 mode selected
      hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4
      hdb: UDMA/66 mode selected
      sd 1:0:0:0: [sda] Starting disk
      ata5: SATA link down (SStatus 0 SControl 300)
      ata1: SATA link down (SStatus 0 SControl 300)
      ata3: SATA link down (SStatus 0 SControl 300)
      ata6: SATA link down (SStatus 0 SControl 300)
      ata2: softreset failed (device not ready)
      ata2: failed due to HW bug, retry pmp=0
      ata4: softreset failed (device not ready)
      ata4: failed due to HW bug, retry pmp=0
      ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
      ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
      ata2.00: class mismatch 1 != 7
      ata2.00: revalidation failed (errno=-19)
      ata2: limiting SATA link speed to 1.5 Gbps
      ata4.00: configured for UDMA/133
      ata2: softreset failed (device not ready)
      ata2: failed due to HW bug, retry pmp=0
      ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
      ata2.00: class mismatch 1 != 7
      ata2.00: revalidation failed (errno=-19)
      ata2.00: disabled
      sd 1:0:0:0: rejecting I/O to offline device
      sd 1:0:0:0: [sda] START_STOP FAILED
      sd 1:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
      PM: Device 1:0:0:0 failed to thaw: error 65536
      sd 3:0:0:0: [sdb] Starting disk
      
      due to a class mismatch in ata_dev_revalidate(). Fix it by adding the
      ATA_DEV_SEMB device class to the check.
      
      CC: Tejun Heo <htejun@gmail.com>
      Signed-off-by: NBorislav Petkov <petkovbb@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f0d0613d
  8. 17 4月, 2009 2 次提交
  9. 13 4月, 2009 1 次提交
  10. 25 3月, 2009 2 次提交
  11. 05 3月, 2009 2 次提交
  12. 03 2月, 2009 6 次提交
  13. 16 1月, 2009 2 次提交
  14. 11 1月, 2009 2 次提交
  15. 10 1月, 2009 1 次提交
  16. 09 1月, 2009 2 次提交
  17. 08 1月, 2009 2 次提交
  18. 29 12月, 2008 5 次提交
    • L
      libata: blacklist NCQ on OCZ CORE 2 SSD (resend) · 5ccfca97
      Lubomir Bulej 提交于
      The patchlet below blacklists NCQ on OCZ CORE v2 SSD drive(s). Even
      though the drive advertises NCQ support with queue depth 1, it responds
      with all-zeroes FIS to NCQ commands which triggers ata error handling
      several times before the kernel decides to disable NCQ on the drive.
      Signed-off-by: NLubomir Bulej <lubomir.bulej@dsrg.mff.cuni.cz>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      5ccfca97
    • Q
      bd353ffd
    • T
      libata: perform port detach in EH · ece180d1
      Tejun Heo 提交于
      ata_port_detach() first made sure EH saw ATA_PFLAG_UNLOADING and then
      assumed EH context belongs to it and performed detach operation
      itself.  However, UNLOADING doesn't disable all of EH and this could
      lead to problems including triggering WARN_ON()'s in EH path.
      
      This patch makes port detach behave more like other EH actions such
      that ata_port_detach() requests EH to detach and waits for completion.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ece180d1
    • T
      libata: when restoring SControl during detach do the PMP links first · ad74e4c1
      Tejun Heo 提交于
      When restoring SControl during detach, PMP links should be handled
      first as changing SControl of the host link can affect SCR access of
      PMP links.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ad74e4c1
    • T
      libata: beef up iterators · 1eca4365
      Tejun Heo 提交于
      There currently are the following looping constructs.
      
      * __ata_port_for_each_link() for all available links
      * ata_port_for_each_link() for edge links
      * ata_link_for_each_dev() for all devices
      * ata_link_for_each_dev_reverse() for all devices in reverse order
      
      Now there's a need for looping construct which is similar to
      __ata_port_for_each_link() but iterates over PMP links before the host
      link.  Instead of adding another one with long name, do the following
      cleanup.
      
      * Implement and export ata_link_next() and ata_dev_next() which take
        @mode parameter and can be used to build custom loop.
      * Implement ata_for_each_link() and ata_for_each_dev() which take
        looping mode explicitly.
      
      The following iteration modes are implemented.
      
      * ATA_LITER_EDGE		: loop over edge links
      * ATA_LITER_HOST_FIRST		: loop over all links, host link first
      * ATA_LITER_PMP_FIRST		: loop over all links, PMP links first
      
      * ATA_DITER_ENABLED		: loop over enabled devices
      * ATA_DITER_ENABLED_REVERSE	: loop over enabled devices in reverse order
      * ATA_DITER_ALL			: loop over all devices
      * ATA_DITER_ALL_REVERSE		: loop over all devices in reverse order
      
      This change removes exlicit device enabledness checks from many loops
      and makes it clear which ones are iterated over in which direction.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      1eca4365
  19. 16 12月, 2008 1 次提交
  20. 02 12月, 2008 1 次提交
  21. 11 11月, 2008 2 次提交
    • R
      libata: Avoid overflow in ata_tf_read_block() when tf->hba_lbal > 127 · 44901a96
      Roland Dreier 提交于
      Phillip O'Donnell <phillip.odonnell@gmail.com> pointed out that the same
      sign extension bug that was fixed in commit ba14a9c2 ("libata: Avoid
      overflow in ata_tf_to_lba48() when tf->hba_lbal > 127") also appears to
      exist in ata_tf_read_block().  Fix this by adding a cast to u64.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      44901a96
    • T
      libata: revert convert-to-block-tagging patches · 8a8bc223
      Tejun Heo 提交于
      This patch reverts the following three commits which convert libata to
      use block layer tagging.
      
       43a49cbd
       e013e13b
       2fca5ccf
      
      Although using block layer tagging is the right direction, due to the
      tight coupling among tag number, data structure allocation and
      hardware command slot allocation, libata doesn't work correctly with
      the current conversion.
      
      The biggest problem is guaranteeing that tag 0 is always used for
      non-NCQ commands.  Due to the way blk-tag is implemented and how SCSI
      starts and finishes requests, such guarantee can't be made.  I'm not
      sure whether this would actually break any low level driver but it
      doesn't look like a good idea to break such assumption given the
      frailty of ATA controllers.
      
      So, for the time being, keep using the old dumb in-libata qc
      allocation.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Jens Axobe <jens.axboe@oracle.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8a8bc223
  22. 04 11月, 2008 1 次提交