• Linus Torvalds's avatar
    Merge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 4b69316e
    Linus Torvalds authored
    Pull libata fixes from Tejun Heo:
     "There's one interseting commit - "libata, freezer: avoid block device
      removal while system is frozen".  It's an ugly hack working around a
      deadlock condition between driver core resume and block layer device
      removal paths through freezer which was made more reproducible by
      writeback being converted to workqueue some releases ago.  The bug has
      nothing to do with libata but it's just an workaround which is easy to
      backport.  After discussion, Rafael and I seem to agree that we don't
      really need kernel freezables - both kthread and workqueue.  There are
      few specific workqueues which constitute PM operations and require
      freezing, which will be converted to use workqueue_set_max_active()
      instead.  All other kernel freezer uses are planned to be removed,
      followed by the removal of kthread and workqueue freezer support,
      hopefully.
    
      Others are device-specific fixes.  The most notable is the addition of
      NO_NCQ_TRIM which is used to disable queued TRIM commands to Micro
      M500 SSDs which otherwise suffers data corruption"
    
    * 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
      libata, freezer: avoid block device removal while system is frozen
      libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs
      libata: disable a disk via libata.force params
      ahci: bail out on ICH6 before using AHCI BAR
      ahci: imx: Explicitly clear IMX6Q_GPR13_SATA_MPLL_CLK_EN
      libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8
    4b69316e
libata-scsi.c 105 KB