1. 30 Oct, 2007 2 commits
    • Mikael Pettersson's avatar
      sata_promise: cleanups · 5595ddf9
      Mikael Pettersson authored
      Minor sata_promise cleanups:
      - use C99 array initialisers in pdc_port_info[]
      - add myself in the file head's Maintained by note,
        since users don't always read the MAINTAINERS file
      - SG/PRD bug workaround warrants driver version bump
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      --
       drivers/ata/sata_promise.c |   17 +++++++++--------
       1 files changed, 9 insertions(+), 8 deletions(-)
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      5595ddf9
    • Mikael Pettersson's avatar
      sata_promise: ASIC PRD table bug workaround, take 2 · b9ccd4a9
      Mikael Pettersson authored
      Second-generation Promise SATA controllers have an ASIC bug
      which can trigger if the last PRD entry is larger than 164 bytes,
      resulting in intermittent errors and possible data corruption.
      
      Work around this by replacing calls to ata_qc_prep() with a
      private version that fills the PRD, checks the size of the
      last entry, and if necessary splits it to avoid the bug.
      Also reduce sg_tablesize by 1 to accommodate the new entry.
      
      Tested on the second-generation SATA300 TX4 and SATA300 TX2plus,
      and the first-generation PDC20378.
      
      Thanks to Alexander Sabourenkov for verifying the bug by
      studying the vendor driver, and for writing the initial patch
      upon which this one is based.
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      --
      Changes since previous version:
      * use new PDC_MAX_PRD constant to initialise sg_tablesize
      
       drivers/ata/sata_promise.c |   87 ++++++++++++++++++++++++++++++++++++++++++---
       1 files changed, 83 insertions(+), 4 deletions(-)
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      b9ccd4a9
  2. 29 Oct, 2007 38 commits