1. 07 4月, 2009 1 次提交
  2. 30 3月, 2009 1 次提交
  3. 25 3月, 2009 34 次提交
  4. 14 3月, 2009 3 次提交
    • T
      ata_piix: add workaround for Samsung DB-P70 · e9c1670c
      Tejun Heo 提交于
      Samsung DB-P70 somehow botched the first ICH9 SATA port.  The board
      doesn't expose the first port but somehow SStatus reports link online
      while failing SRST protocol leading to repeated probe failures and
      thus long boot delay.
      
      Because the BIOS doesn't carry any identifying DMI information, the
      port can't be blacklisted safely.  Fortunately, the controller does
      have subsystem vendor and ID set.  It's unclear whether the subsystem
      IDs are used only for the board but it can be safely worked around by
      disabling SIDPR access and just using SRST works around the problem.
      Even when the workaround is triggered on an unaffected board the only
      side effect will be missing SCR access.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NJoseph Jang <josephjang@gmail.com>
      Reported-by: NJonghyon Sohn <mrsohn@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e9c1670c
    • S
      libata: Keep shadow last_ctl up to date during resets · e3e4385f
      Stuart MENEFY 提交于
      libata keeps a shadow copy of the ATA CTL register (which is write only),
      and only writes to the hardware when the required value doesn't match
      the shadow. However this copy wasn't being maintained when performing
      reset functions. This could cause problems for the first operation after
      a reset when the correct value might not be written to the CTL register.
      
      This problem was observed when hotplugging a drive: the identify command
      was being issued with interrupts enabled, when they should have been
      disabled.
      Signed-off-by: NStuart Menefy <stuart.menefy@st.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e3e4385f
    • M
      sata_mv: fix MSI irq race condition · 9d51af7b
      Mark Lord 提交于
      Fix a (rare) race condition in mv_interrupt() when using MSI.
      
      The value of hpriv->main_irq_mask_addr can change on on the fly,
      and without this patch we could end up writing back a stale copy
      to the hardware.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      9d51af7b
  5. 05 3月, 2009 1 次提交
    • R
      libata: Don't trust current capacity values in identify words 57-58 · 968e594a
      Robert Hancock 提交于
      Hanno Böck reported a problem where an old Conner CP30254 240MB hard drive
      was reported as 1.1TB in capacity by libata:
      
      http://lkml.org/lkml/2009/2/13/134
      
      This was caused by libata trusting the drive's reported current capacity in
      sectors in identify words 57 and 58 if the drive does not support LBA and the
      current CHS translation values appear valid. Unfortunately it seems older
      ATA specs were vague about what this field should contain and a number of drives
      used values with wrong byte order or that were totally bogus. There's no
      unique information that it conveys and so we can just calculate the number
      of sectors from the reported current CHS values.
      
      While we're at it, clean up this function to use named constants for the
      identify word values.
      Signed-off-by: NRobert Hancock <hancockrwd@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      968e594a