1. 12 4月, 2008 2 次提交
  2. 09 4月, 2008 2 次提交
  3. 04 4月, 2008 4 次提交
  4. 31 3月, 2008 1 次提交
  5. 30 3月, 2008 2 次提交
  6. 25 3月, 2008 6 次提交
    • J
      [libata] ahci: SB600 workaround is suspect... play it safe for now · 4cde32fc
      Jeff Garzik 提交于
      At least one report claims that a878539e
      failed to solve lockups, whereas the old limit-to-32-bit trick worked.
      
      Restore the 32-bit limit, but also leave the 255-sector limit in place,
      because we know that's needed as well.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4cde32fc
    • M
      sata_promise: fix hardreset hotplug events, take 2 · c07a9c49
      Mikael Pettersson 提交于
      A Promise SATA controller will signal hotplug events when a hard
      reset (COMRESET) is done on a port. These events aren't masked by
      the driver, and the unexpected interrupts will cause a sequence
      of failed reset attempts util libata's EH finally gives up.
      
      This has not been a common problem so far, but the pending libata
      hardreset-by-default changes makes it a critical issue.
      
      The solution is to disable hotplug events before a reset, and to
      reenable them afterwards. (Promise's driver does this too.)
      
      This patch adds SATA-specific versions of ->freeze() and ->thaw()
      that also disable and enable hotplug events. PATA ports continue
      to use the old versions of ->freeze() and ->thaw().
      
      Accesses to the hotplug register must be serialised via host->lock.
      We rely on ap->lock == &ap->host->lock and that libata takes this
      lock before ->freeze() and ->thaw(). Document this requirement.
      The interrupt handler is adjusted so its hotplug register accesses
      are inside the region protected by host->lock.
      
      Tested on various chips (SATA300TX4, SATA300TX2plus, SATAII150TX4,
      FastTrack TX4000) with various combinations of SATA and PATA disks,
      with and without the pending hardreset-by-default changes.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Acked-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c07a9c49
    • T
      libata: improve HPA error handling · dda7aba1
      Tejun Heo 提交于
      There's no point in retrying and eventually failing device detection
      when the device rejects READ_NATIVE_MAX[_EXT].  Disable HPA unlocking
      if READ_NATIVE_MAX[_EXT] is rejected as done when SET_MAX[_EXT] is
      rejected.
      
      This allows some old drives to work even if they aren't blacklisted.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      dda7aba1
    • T
      libata: assume no device is attached if both IDENTIFYs are aborted · 1ffc151f
      Tejun Heo 提交于
      This is to fix bugzilla #10254.  QSI cdrom attached to pata_sis as
      secondary master appears as phantom device for the slave.
      Interestingly, instead of not setting DRQ after IDENTIFY which
      triggers NODEV_HINT, it aborts both IDENTIFY and IDENTIFY PACKET which
      makes EH retry.
      
      Modify EH such that it assumes no device is attached if both flavors
      of IDENTIFY are aborted by the device.  There really isn't much point
      in retrying when the device actively aborts the commands.
      
      While at it, convert NODEV detection message to ata_dev_printk() to
      help debugging obscure detection problems.
      
      This problem was reported by Jan Bücken.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Jan Bücken <jb.faq@gmx.de>
      Acked-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1ffc151f
    • T
      pata_it821x: use raw nbytes in check_atapi_dma · b63b1331
      Tejun Heo 提交于
      pata_it821x needs to look at raw request size in check_atapi_dma().
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b63b1331
    • T
      libata: implement ata_qc_raw_nbytes() · aacda375
      Tejun Heo 提交于
      Implement ata_qc_raw_nbytes() which determines the raw user-requested
      size of a PC command.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      aacda375
  7. 18 3月, 2008 1 次提交
  8. 17 3月, 2008 5 次提交
  9. 11 3月, 2008 7 次提交
  10. 05 3月, 2008 2 次提交
  11. 04 3月, 2008 2 次提交
  12. 01 3月, 2008 1 次提交
  13. 29 2月, 2008 1 次提交
  14. 26 2月, 2008 2 次提交
  15. 24 2月, 2008 2 次提交
    • R
      libata-core: fix kernel-doc warning · 4cdfa1b3
      Randy Dunlap 提交于
      Fix libata-core kernel-doc warning:
      Warning(linux-2.6.25-rc2-git6//drivers/ata/libata-core.c:168): No description found for parameter 'ap'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4cdfa1b3
    • A
      sata_fsl: fix build with ATA_VERBOSE_DEBUG · b1f5dc48
      Anton Vorontsov 提交于
      This patch fixes build and few warnings when ATA_VERBOSE_DEBUG
      is defined:
      
        CC      drivers/ata/sata_fsl.o
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_fill_sg’:
      drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘void *’
      drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 4 has type ‘struct prde *’
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_qc_issue’:
      drivers/ata/sata_fsl.c:459: error: ‘csr_base’ undeclared (first use in this function)
      drivers/ata/sata_fsl.c:459: error: (Each undeclared identifier is reported only once
      drivers/ata/sata_fsl.c:459: error: for each function it appears in.)
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_freeze’:
      drivers/ata/sata_fsl.c:525: error: ‘csr_base’ undeclared (first use in this function)
      make[2]: *** [drivers/ata/sata_fsl.o] Error 1
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b1f5dc48