1. 02 May, 2007 23 commits
  2. 27 Apr, 2007 3 commits
  3. 26 Apr, 2007 2 commits
  4. 25 Apr, 2007 2 commits
  5. 13 Apr, 2007 10 commits
    • Greg Kroah-Hartman's avatar
      Linux 2.6.20.7 · 89c8f056
      Greg Kroah-Hartman authored
      89c8f056
    • Chuck Ebbert's avatar
      Update libata drive blacklist to the latest from 2.6.21 · 6aadc57b
      Chuck Ebbert authored
      Update libata drive blacklist to the latest from 2.6.21
      
      Removes one duplicate entry from blacklist table, adds several
      entries for drives with broken NCQ.
      
      [diff between 2.6.20 and 2.6.21-rc6, with one entry removed
       that required new libata features]
      Signed-off-by: default avatarChuck Ebbert <cebbert@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6aadc57b
    • Brian Pomerantz's avatar
      fix page leak during core dump · 8d6b7510
      Brian Pomerantz authored
      When the dump cannot occur most likely because of a full file system and
      the page to be written is the zero page, the call to page_cache_release()
      is missed.
      Signed-off-by: default avatarBrian Pomerantz <bapper@mvista.com>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: David Howells <dhowells@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8d6b7510
    • Andrew Morton's avatar
      revert "retries in ext4_prepare_write() violate ordering requirements" · c83d476c
      Andrew Morton authored
      Revert b46be050.  Same reasoning as for ext3.
      
      Cc: Kirill Korotaev <dev@openvz.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Ken Chen <kenneth.w.chen@intel.com>
      Cc: Andrey Savochkin <saw@sw.ru>
      Cc: <linux-ext4@vger.kernel.org>
      Cc: Dmitriy Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c83d476c
    • Andrew Morton's avatar
      revert "retries in ext3_prepare_write() violate ordering requirements" · 5dc1802f
      Andrew Morton authored
      Revert e92a4d59.
      
      Dmitry points out
      
      "When we block_prepare_write() failed while ext3_prepare_write() we jump to
       "failure" label and call ext3_prepare_failure() witch search last mapped bh
       and invoke commit_write untill it.  This is wrong!!  because some bh from
       begining to the last mapped bh may be not uptodate.  As a result we commit to
       disk not uptodate page content witch contains garbage from previous usage."
      
      and
      
      "Unexpected file size increasing."
      
         Call trace the same as it was in first issue but result is different. 
         For example we have file with i_size is zero.  we want write two blocks ,
         but fs has only one free block.
      
         ->ext3_prepare_write(...from == 0, to == 2048)
           retry:
           ->block_prepare_write() == -ENOSPC# we failed but allocated one block here.
           ->ext3_prepare_failure()
             ->commit_write( from == 0, to == 1024) # after this i_size becomes 1024 :)
           if (ret == -ENOSPC && ext3_should_retry_alloc(inode->i_sb, &retries))
              goto retry;
      
         Finally when all retries will be spended ext3_prepare_failure return
         -ENOSPC, but i_size was increased and later block trimm procedures can't
         help here.
      
      We don't appear to have the horsepower to fix these issues, so let's put
      things back the way they were for now.
      
      Cc: Kirill Korotaev <dev@openvz.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Ken Chen <kenneth.w.chen@intel.com>
      Cc: Andrey Savochkin <saw@sw.ru>
      Cc: <linux-ext4@vger.kernel.org>
      Cc: Dmitriy Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      5dc1802f
    • Albert Lee's avatar
      libata: Clear tf before doing request sense (take 3) · 0ece095b
      Albert Lee authored
      libata: Clear tf before doing request sense (take 3)
      
      patch 2/4:
        Clear tf before doing request sense.
      
      This fixes the AOpen 56X/AKH timeout problem.
      (http://bugzilla.kernel.org/show_bug.cgi?id=8244)
      Signed-off-by: default avatarAlbert Lee <albertcc@tw.ibm.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0ece095b
    • Mark Lord's avatar
      fix lba48 bug in libata fill_result_tf() · 4e169f6c
      Mark Lord authored
      2.6.21 fix lba48 bug in libata fill_result_tf()
      
      Current 2.6.21 libata does the following:
      
      void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
      {
              struct ata_ioports *ioaddr = &ap->ioaddr;
      
              tf->command = ata_check_status(ap);
      	...
              if (tf->flags & ATA_TFLAG_LBA48) {
                      iowrite8(tf->ctl | ATA_HOB, ioaddr->ctl_addr);
                      tf->hob_feature = ioread8(ioaddr->error_addr);
                      ...
              }
      }
      ...
      static void fill_result_tf(struct ata_queued_cmd *qc)
      {
              struct ata_port *ap = qc->ap;
      
              ap->ops->tf_read(ap, &qc->result_tf);
              qc->result_tf.flags = qc->tf.flags;
      }
      
      Based on this, those last two statements fill_result_tf()
      appear to me to be in the wrong order, in that the tf->flags
      are uninitialized at the point where tf_read() is invoked.
      So for lba48 commands, tf_read() won't be reading back the
      full lba48 register contents..
      
      Correct?
      
      This patch corrects fill_result_tf() so that the flags
      get copied to result_tf before they are used by tf_read().
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4e169f6c
    • Conke Hu's avatar
      ahci.c: walkaround for SB600 SATA internal error issue · c23bbe59
      Conke Hu authored
      ahci.c: walkaround for SB600 SATA internal error issue
      
         There is a HW issue in ATI SB600 SATA that PxSERR.E should not be
      set on some conditions, for example, when there is no media in SATA
      CD/DVD drive or media is not ready, AHCI controller fails to execute
      ATAPI commands and reports PORT_IRQ_TF_ERR, but ATI SB600 SATA
      controller sets PxSERR.E at the
      same time, which is not necessary.
          This patch is just to ignore the INTERNAL ERROR in such case.
      Without this patch, ahci error handler will report many errors as
      below:
          ----------- cut from dmesg -----------
      ata9: soft resetting port
      ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
      ata9.00: configured for UDMA/33
      ata9: EH complete
      ata9.00: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x2
      ata9.00: (irq_stat 0x40000001)
      ata9.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 tag 0 cdb 0x0 data 0
              res 51/24:03:00:00:20/00:00:00:00:00/a0 Emask 0x40 (internal error)
      ata9: soft resetting port
      ata9: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
      ata9.00: configured for UDMA/33
      ata9: EH complete
      ata9.00: exception Emask 0x40 SAct 0x0 SErr 0x800 action 0x2
      ata9.00: (irq_stat 0x40000001)
      ata9.00: cmd a0/01:00:00:00:00/00:00:00:00:00/a0 tag 0 cdb 0x43 data 12 in
              res 51/24:03:00:00:00/00:00:00:00:00/a0 Emask 0x40 (internal error)
          -------- end cut ---------
      Signed-off-by: default avatarConke Hu <conke.hu@amd.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c23bbe59
    • Mark Lord's avatar
      libata bugfix: preserve LBA bit for HDIO_DRIVE_TASK · 0cecc9af
      Mark Lord authored
      libata bugfix: preserve LBA bit for HDIO_DRIVE_TASK
      
      Preserve the LBA bit in the DevSel/Head register for HDIO_DRIVE_TASK.
      Signed-off-by: default avatarMark Lord <mlord@pobox.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0cecc9af
    • John W. Linville's avatar
      softmac: avoid assert in ieee80211softmac_wx_get_rate · 3c163bc0
      John W. Linville authored
      [PATCH] softmac: avoid assert in ieee80211softmac_wx_get_rate
      
      Unconfigured bcm43xx device can hit an assert() during wx_get_rate
      queries.  This is because bcm43xx calls ieee80211softmac_start late
      (i.e. during open instead of probe).
      
         bcm43xx_net_open ->
            bcm43xx_init_board ->
               bcm43xx_select_wireless_core ->
                  ieee80211softmac_start
      
      Fix is to check that device is running before completing
      ieee80211softmac_wx_get_rate.
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3c163bc0