linux/drivers/ata
Tejun Heo 6bad96122d libata: disable NCQ on Crucial C300 SSD
commit 68b0ddb289 upstream.

Crucial said,

  Thank you for contacting us. We know that with our M225 line of SSDs
  you sometimes need to disable NCQ (native command queuing) to avoid
  just the type of errors you're seeing. Our recommendation for the
  M225 is to add libata.force=noncq to your Linux kernel boot options,
  under the kernel ATA library option.

  I have sent your feedback to the engineers working on the C300, and
  asked them to please pass it on to the firmware team. I have been
  notified that they are in the process of testing and finalizing a
  new firmware version, that you can expect to see released around the
  end of April. We’ll keep you posted as to when it will be available
  for download.

So, turn off NCQ on the drive w/ the current firmware revision.

Reported in the following bug.

  https://bugzilla.kernel.org/show_bug.cgi?id=15573

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: lethalwp@scarlet.be
Reported-by: Luke Macken <lmacken@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-04-26 07:41:23 -07:00
..
ahci.c ahci: use BIOS date in broken_suspend list 2010-04-01 15:58:54 -07:00
ata_generic.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
ata_piix.c ata_piix: fix MWDMA handling on PIIX3 2010-01-28 15:02:16 -08:00
Kconfig libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers 2009-09-17 16:47:06 -04:00
libata-acpi.c libata: make gtf_filter per-dev 2009-10-06 00:26:27 -04:00
libata-core.c libata: disable NCQ on Crucial C300 SSD 2010-04-26 07:41:23 -07:00
libata-eh.c libata: retry FS IOs even if it has failed with AC_ERR_INVALID 2010-02-09 04:50:44 -08:00
libata-pmp.c libata: add SATA PMP revision information for spec 1.2 2009-09-08 21:21:14 -04:00
libata-scsi.c libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() 2009-09-08 21:17:43 -04:00
libata-sff.c Call flush_dcache_page after PIO data transfers in libata-sff.c 2010-02-23 07:37:55 -08:00
libata.h libata: make gtf_filter per-dev 2009-10-06 00:26:27 -04:00
Makefile libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers 2009-09-17 16:47:06 -04:00
pata_acpi.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_ali.c pata_ali: Fix regression with old devices 2010-04-26 07:41:18 -07:00
pata_amd.c pata_amd: do not filter out valid modes in nv_mode_filter 2009-09-17 16:46:41 -04:00
pata_artop.c pata_artop: Serializing support 2009-03-24 22:45:05 -04:00
pata_at32.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_at91.c pata_at91: fix resource release 2009-08-12 06:16:47 -04:00
pata_atiixp.c ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2 2009-10-16 06:21:20 -04:00
pata_atp867x.c pata_atp867x: add Power Management support 2009-10-06 20:58:23 -04:00
pata_bf54x.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_cmd64x.c pata_cmd64x: fix overclocking of UDMA0-2 modes 2010-01-06 15:03:23 -08:00
pata_cmd640.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_cs5520.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pata_cs5530.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_cs5535.c pata_cs5535: add pci id for AMD based CS5535 controllers 2009-09-11 02:31:31 -04:00
pata_cs5536.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_cypress.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_efar.c pata_efar: fix PIO2 underclocking 2009-06-05 14:40:52 -04:00
pata_hpt3x2n.c pata_hpt3x2n: always stretch UltraDMA timing 2010-03-15 08:49:58 -07:00
pata_hpt3x3.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_hpt37x.c pata_hpt{37x|3x2n}: fix timing register masks (take 2) 2009-12-18 14:03:48 -08:00
pata_hpt366.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_icside.c Merge branch 'origin' into devel 2009-03-28 20:29:51 +00:00
pata_isapnp.c [libata] Improve timeout handling 2009-03-24 22:52:39 -04:00
pata_it821x.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_it8213.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_ixp4xx_cf.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pata_jmicron.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_legacy.c pata_legacy: wait for async probing 2009-06-05 14:40:46 -04:00
pata_marvell.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_mpc52xx.c powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function 2009-06-17 00:30:22 -06:00
pata_mpiix.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_netcell.c pata_netcell: Fix typo 2009-06-08 09:12:28 -07:00
pata_ninja32.c ata: Report 16/32bit PIO as best we can 2009-04-16 15:28:23 -04:00
pata_ns87410.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_ns87415.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_octeon_cf.c drivers/ata: use resource_size 2009-09-11 02:25:58 -04:00
pata_of_platform.c powerpc: Fix no interrupt handling in pata_of_platform 2008-10-10 15:55:17 +11:00
pata_oldpiix.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_opti.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_optidma.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_palmld.c [ARM] 5522/1: PalmLD: IDE support 2009-05-31 14:50:40 +01:00
pata_pcmcia.c pata_pcmcia: add CNF-CDROM-ID 2009-07-28 21:05:18 -04:00
pata_pdc202xx_old.c pata_pdc202xx_old: fix UDMA33 handling 2009-05-11 14:30:07 -04:00
pata_pdc2027x.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_platform.c drivers/ata: use resource_size 2009-09-11 02:25:58 -04:00
pata_qdi.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_radisys.c pata_radisys: fix mwdma_mask to exclude mwdma0 2009-03-24 22:13:32 -04:00
pata_rb532_cf.c drivers/ata: use resource_size 2009-09-11 02:25:58 -04:00
pata_rdc.c [libata] Add pata_rdc driver for RDC ATA devices 2009-09-01 19:47:20 -04:00
pata_rz1000.c pata_rz1000: use printk_once 2009-09-11 02:33:59 -04:00
pata_sc1200.c pata_sc1200: Fix crash on boot 2009-10-16 06:22:40 -04:00
pata_scc.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_sch.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_serverworks.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_sil680.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_sis.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_sl82c105.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_triflex.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pata_via.c pata_via: Add VIA VX900 support 2010-04-26 07:41:21 -07:00
pata_winbond.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
pdc_adma.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_fsl.c sata_fsl: Split hard and soft reset 2009-11-19 18:18:17 -05:00
sata_inic162x.c drivers/ata: Remove unnecessary semicolons 2009-09-01 19:47:20 -04:00
sata_mv.c sata_mv: Prevent PIO commands to be defered too long if traffic in progress. 2009-10-16 06:22:46 -04:00
sata_nv.c sata_nv: make sure link is brough up online when skipping hardreset 2009-10-16 06:21:32 -04:00
sata_promise.c sata_promise: update reset code 2009-09-17 16:46:34 -04:00
sata_promise.h libata annotations and fixes 2008-01-23 05:24:15 -05:00
sata_qstor.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sata_sil.c [libata] sata_sil: disable DMA engine in sil_freeze() 2009-09-01 19:47:19 -04:00
sata_sil24.c sata_sil24: always set protocol override for non-ATAPI data commands 2009-09-01 19:47:21 -04:00
sata_sis.c sata_sis: convert to slave_link 2009-09-08 21:17:36 -04:00
sata_svw.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
sata_sx4.c sata_sx4: speed up ECC initialization 2009-06-10 07:50:17 -04:00
sata_uli.c [libata] convert drivers to use ata.h mode mask defines 2009-03-24 22:13:27 -04:00
sata_via.c sata_via: Remove redundant device ID for VIA VT8261 2009-11-03 14:27:06 -05:00
sata_vsc.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sis.h