summaryrefslogtreecommitdiffstats
path: root/drivers/ata
Commit message (Collapse)AuthorAgeFilesLines
...
* | | pata_arasan_cf: remove bogus to_platform_device() callsSergei Shtylyov2011-10-141-4/+2Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The suspend()/resume() methods already get the right 'struct device' to get the driver data from -- there's no need to get to the 'struct platform_device' that contains that 'struct device' just to call dev_get_drvdata()... Acked-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_atiixp: add proper ->prereset methodBartlomiej Zolnierkiewicz2011-10-141-9/+26
| | | | | | | | | | | | | | | | | | | | | | | | Fixes PCI access before PCI resources are allocated. Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_serverworks: add serverworks_fixup()Bartlomiej Zolnierkiewicz2011-10-141-28/+29
| | | | | | | | | | | | | | | | | | | | | | | | Factor out common code from serverworks_[re]init_one() to serverworks_fixup(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_serverworks: cleanup cable detectionBartlomiej Zolnierkiewicz2011-10-141-30/+7Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | Merge identical cable routines for Dell and Sun systems into common oem_cable() one. Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_serverworks: use standard cable detection methodsBartlomiej Zolnierkiewicz2011-10-141-33/+12Star
| | | | | | | | | | | | | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_cmd64x: documentation fixBartlomiej Zolnierkiewicz2011-10-141-1/+1
| | | | | | | | | | | | | | | | | | Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_ali: fix "Satelite" typoBartlomiej Zolnierkiewicz2011-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cosmetic fix but thanks to it pata_ali's DMI table now matches alim15x3's one. Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_cs5535: no need to program PIO0 timings during device initBartlomiej Zolnierkiewicz2011-10-141-12/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | Core libata code takes care of it nowadays. Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_cmd64x: add cmd64x_fixup()Bartlomiej Zolnierkiewicz2011-10-141-22/+20Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | Factor out common code from cmd64x_[re]init_one() to cmd64x_fixup(). Remove stale comment and fix a minor CodingStyle issue while at it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_hpt366: add hpt36x_find_mode() helperBartlomiej Zolnierkiewicz2011-10-141-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Factor out code for finding the register programming information from hpt366_set_mode() to hpt36x_find_mode(). This makes pata_hpt366 driver more similar to pata_{37x,3x2n} ones. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_artop: unify ->prereset methodsBartlomiej Zolnierkiewicz2011-10-141-21/+5Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Unify ->prereset methods for ATP850 and ATP86x[R] chipsets. * Fix ->prereset documentation while at it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sc1200: do not use c99 style commentsBartlomiej Zolnierkiewicz2011-10-141-4/+8
| | | | | | | | | | | | | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_at91: call clk_put() on ata_host_activate() failureSergei Shtylyov2011-10-141-1/+4
| | | | | | | | | | | | | | | | | | | | | pata_at91_probe() forgets to call clk_put() iff ata_host_activate() fails... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | libata: reduce ata_pci_[sff,bmdma]_init_one() sizeBartlomiej Zolnierkiewicz2011-10-141-65/+46Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn both helpers (which are used only during LLDs initialization time and thus are not performance sensitive) into wrappers around the new ata_pci_init_one() function, this cuts 20 LOC and saves ~1.1k of the output code size (x86-64): text data bss dec hex filename 21392 0 19 21411 53a3 drivers/ata/libata-sff.o.before 20256 0 19 20275 4f33 drivers/ata/libata-sff.o.after Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_cs5535: fix DRV_NAMEBartlomiej Zolnierkiewicz2011-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | .. and also a module description while at it. Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sc1200: fix DRV_NAMEBartlomiej Zolnierkiewicz2011-10-141-1/+1
| | | | | | | | | | | | | | | | | | Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sil680: minor CodingStyle fixupsBartlomiej Zolnierkiewicz2011-10-141-25/+33
| | | | | | | | | | | | | | | | | | Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sil680: constify tablesBartlomiej Zolnierkiewicz2011-10-141-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | Constify tables in sil680_set_[pio,dma]mode(). Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sil680: documentation fixesBartlomiej Zolnierkiewicz2011-10-141-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | Fix documentation for sil680_sel[reg,dev]() and sil680_set_[pio,dma]mode(). Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | ata: irq: Remove IRQF_DISABLEDYong Zhang2011-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit [c58543c8: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | ata: Make pata_of_platform.c compile again and work on non-PPC platformsPawel Moll2011-10-082-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing #includes, makes the driver selectable on non-PPC OF-enabled platforms and fixes property value accesses to be correct in Little Endian system. Cc: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sis: code style cleanups for consistencyDan McGee2011-10-081-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | Remove a lot of ' ' (double spaces) as well as ensuring use of tabs vs. spaces is appropriate and consistent. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sis: mark most const data static as wellDan McGee2011-10-081-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pushes timing and other values into preinitialized read-only data sections rather than being inlined into the code. None of these functions are called more than a handful of times, so reducing code size makes sense. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sis: enable MWDMA for UDMA 133 chipsetDan McGee2011-10-081-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ports the timing values over from the old IDE driver into the new PATA-based one. The comment was lying when it stated the old driver was not MWDMA capable. Boot tested on actual hardware using 'libata.force=mwdma2'. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sis: add mode_filter method for certain sis5513 chipsetsDan McGee2011-10-081-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mirrors a very old commit (3160d5416f39da9d9, "sis5513: add ->udma_filter method for chipset_family >= ATA_133") to the old sis5513 IDE driver that prevents certain setups from working. UDMA6 (ATA/133) is not supported on some chipsets and we need to ensure this mode is not chosen even if a connected drive supports it. Port this old patch forward to the new PATA driver to ensure UDMA5 is the highest mode used if that is what is supported. Kernel bugzilla #41582. Reviewed-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | pata_sis: extract a sis_port_base() methodDan McGee2011-10-081-18/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is similar to the existing sis_old_port_base() method. We do this same calculation and logic in multiple places (with one more to come in a future patch), so extracting it into a method makes sense. Reviewed-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | [libata] ahci_platform: Add the board_ids and pi refer to different featuresRichard Zhu2011-10-081-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On imx53 AHCI, soft reset fails with IPMS set when PMP is enabled but SATA HDD/ODD is connected to SATA port, do soft reset again to port 0. So the 'ahci_pmp_retry_srst_ops' is required when imx53 ahci is present. Signed-off-by: Richard Zhu <richard.zhu@linaro.org> Acked-by: Eric Miao <eric.miao@linaro.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | libata-eh: ata_eh_followup_srst_needed() does not need 'classes' parameterSergei Shtylyov2011-10-081-3/+2Star
| | | | | | | | | | | | | | | | | | | | | ... since it does not use it. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | sata_sil24: Use constJoe Perches2011-10-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce data by using const. $ size drivers/ata/sata_sil24.o* text data bss dec hex filename 12764 614 2688 16066 3ec2 drivers/ata/sata_sil24.o.new 12320 1058 2688 16066 3ec2 drivers/ata/sata_sil24.o.old Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | ata_piix: make DVD Drive recognisable on systems with Intel Sandybridge ↵Ming Lei2011-10-081-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | chipsets(v2) This quirk patch fixes one kind of bug inside some Intel Sandybridge chipsets, see reports from https://bugzilla.kernel.org/show_bug.cgi?id=40592. Many guys also have reported the problem before: https://bugs.launchpad.net/bugs/737388 https://bugs.launchpad.net/bugs/794642 https://bugs.launchpad.net/bugs/782389 ...... With help from Tejun, the problem is found to be caused by 32bit PIO mode, so introduce the quirk patch to disable 32bit PIO on SATA piix for some Sandybridge CPT chipsets. Seth also tested the patch on all five affected chipsets (pci device ID: 0x1c00, 0x1c01, 0x1d00, 0x1e00, 0x1e01), and found the patch does fix the problem. Tested-by: Heasley, Seth <seth.heasley@intel.com> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Ming Lei <ming.lei@canonical.com> Acked-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Cc: stable@kernel.org
* | | libata: clear PIO pad areaTejun Heo2011-10-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ata_sff_data_xfer[32]() use pad area if the transfer size isn't multiple of transfer size; however, this area wasn't cleared and garbage data in pad area could be transferred to the device. Make sure the pad area is cleared. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Lei Ming <tom.leiming@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | sata_mv: use {platform|pci}_get_drvdata()Sergei Shtylyov2011-10-081-5/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver uses dev_get_drvdata() to get to the driver data for the platform and PCI devices, while the corresponding wrappers exists for them -- in one case it even declares an otherwise unneeded variable to do that. Switch to using the {platform|pci}_get_drvdata() instead. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | | sata_mv: release clock on ata_host_activate() failureSergei Shtylyov2011-10-081-2/+5
| |/ |/| | | | | | | | | | | | | mv_platfrom_probe() forgets to call clk_disable() and clk_put() iff ata_host_activate() fails... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | drivers/ata/sata_dwc_460ex.c: add missing kfreeJulia Lawall2011-08-191-8/+6Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, error handling code in this function calls the function sata_dwc_port_stop, but this function has essentially no effect if hsdevp has not been stored in ap, which is the case throughout this function. The only effect is to print a debugging message including ap->print_id. The code is rewritten to not call sata_dwc_port_stop, but instead to jump to a local label that prints the original error message and the print_id information. In the case where hsdevp has been already allocated (but not yet stored in ap), this value is freed as well. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @exists@ local idexpression x; statement S,S1; expression E; identifier fl; expression *ptr != NULL; @@ x = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...kfree(x)...+> } when any when != true x == NULL x->fl ...> ( if (x == NULL) S1 | if (...) { ... when != x when forall ( return \(0\|<+...x...+>\|ptr\); | * return ...; ) } ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | ata: Add iMX pata supportArnaud Patard (Rtp)2011-08-193-0/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add basic support for pata on iMX. It has been tested only on imx51. SDMA support will probably be added later so this version supports only PIO. v2: - enable only when needed IORDY - use dev_get_drvdata v3: - add missing clk_put() calls - use platform_get_irq() - fix resume code to avoid disabling IORDY on resume v4: - Remove EXPERIMENTAL and switch to depends on ARCH_MXC - Use devm_kzalloc() - make clock a must-have - Use only 1 ioremap Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | pata_via: disable ATAPI DMA on AVERATEC 3200Tejun Heo2011-08-191-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On AVERATEC 3200, pata_via causes memory corruption with ATAPI DMA, which often leads to random kernel oops. The cause of the problem is not well understood yet and only small subset of machines using the controller seem affected. Blacklist ATAPI DMA on the machine. Signed-off-by: Tejun Heo <tj@kernel.org> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=11426 Reported-and-tested-by: Jim Bray <jimsantelmo@gmail.com> Cc: Alan Cox <alan@linux.intel.com> Cc: stable@kernel.org Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [libata] sata_sil: fix used-uninit warningJeff Garzik2011-08-191-1/+1
|/ | | | | | | | | | | | | | Init 'serror' to silence the following warning: drivers/ata/sata_sil.c: In function ‘sil_interrupt’: drivers/ata/sata_sil.c:453:14: warning: ‘serror’ may be used uninitialized in this function [-Wuninitialized] This is not a 'can never happen' but is nonetheless extremely unlikely. The easiest and cleanest warning fix is simply to init the var, rather than worry about marking the var uninit-ok. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* Merge branch 'release' of ↵Linus Torvalds2011-08-031-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (28 commits) ACPI: delete stale reference in kernel-parameters.txt ACPI: add missing _OSI strings ACPI: remove NID_INVAL thermal: make THERMAL_HWMON implementation fully internal thermal: split hwmon lookup to a separate function thermal: hide CONFIG_THERMAL_HWMON ACPI print OSI(Linux) warning only once ACPI: DMI workaround for Asus A8N-SLI Premium and Asus A8N-SLI DELUX ACPI / Battery: propagate sysfs error in acpi_battery_add() ACPI / Battery: avoid acpi_battery_add() use-after-free ACPI: introduce "acpi_rsdp=" parameter for kdump ACPI: constify ops structs ACPI: fix CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS ACPI: fix 80 char overflow ACPI / Battery: Resolve the race condition in the sysfs_remove_battery() ACPI / Battery: Add the check before refresh sysfs in the battery_notify() ACPI / Battery: Add the hibernation process in the battery_notify() ACPI / Battery: Rename acpi_battery_quirks2 with acpi_battery_quirks ACPI / Battery: Change 16-bit signed negative battery current into correct value ACPI / Battery: Add the power unit macro ...
| * ACPI: constify ops structsVasiliy Kulikov2011-07-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Structs battery_file, acpi_dock_ops, file_operations, thermal_cooling_device_ops, thermal_zone_device_ops, kernel_param_ops are not changed in runtime. It is safe to make them const. register_hotplug_dock_device() was altered to take const "ops" argument to respect acpi_dock_ops' const notion. Signed-off-by: Vasiliy Kulikov <segoon@openwall.com> Acked-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: Len Brown <len.brown@intel.com>
* | drivers: use kzalloc/kcalloc instead of 'kmalloc+memset', where possibleRakib Mullick2011-07-261-2/+1Star
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: David Airlie <airlied@linux.ie> Cc: Tejun Heo <tj@kernel.org> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ata: PATA_ARASAN_CF depends on DMADEVICESRandy Dunlap2011-07-241-0/+1
| | | | | | | | | | | | | | | | | | | | Fix kconfig unmet dependency warning: warning: (PATA_ARASAN_CF && VIDEO_TIMBERDALE && SND_SOC_SH4_SIU) selects DMA_ENGINE which has unmet direct dependencies (DMADEVICES) Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | ata: remove unnecessary codeGreg Dietsche2011-07-241-7/+1Star
| | | | | | | | | | | | | | | | | | | | | | Compile tested. remove unnecessary code that matches this coccinelle pattern if (...) return ret; return ret; Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [libata] Prevent warning during PMP error recoveryGwendal Grignou2011-07-241-0/+1
| | | | | | | | | | | | | | | | | | Cleanup sff_pio_task_link when a command is cancel while the pio_task thread has been scheduled. Signed-off-by: Gwendal Grignou <gwendal@google.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | ahci: RAID-mode SATA patch for Intel Panther Point DeviceIDsSeth Heasley2011-07-241-0/+1
| | | | | | | | | | | | | | This patch adds an additional SATA RAID controller DeviceID for the Intel Panther Point PCH. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | pata_it821x: Fix RAID type display, by adding missing commaJean Delvare2011-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | The missing comma causes the wrong RAID type to be displayed. Introduced by commit 963e4975c6f93c148ca809d986d412201df9af89 three years ago, odd that nobody noticed before. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | sata_dwc_460ex: fix error pathVasiliy Kulikov2011-07-241-7/+14
| | | | | | | | | | | | | | | | | | | | Fixed hsdev memleak on sata_dwc_probe() error. As dma_dwc_exit() can be called multiple times without sata_dma_regs and irq_dma changes, it might lead to double free on sequential dma_dwc_exit() calls. So, zero these fields after free calls. Signed-off-by: Vasiliy Kulikov <segoon@openwall.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | ahci: Enable SB600 64bit DMA on Asus M3AMark Nelson2011-07-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | Like e65cc194f7628ecaa02462f22f42fb09b50dcd49 this patch enables 64bit DMA for the AHCI SATA controller of a board that has the SB600 southbridge. In this case though we're enabling 64bit DMA for the Asus M3A motherboard. It is a new enough board that all of the BIOS releases since the initial release (0301 from 2007-10-22) work correctly with 64bit DMA enabled. Signed-off-by: Mark Nelson <mdnelson8@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | libata: report link resume failure as KERN_WARNING instead of ERRTejun Heo2011-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | Link resume failure in itself isn't an error condition and may happen regularly depending on hardware configuration. Reporting it as KERN_ERR makes the condition unnecessarily prominent (e.g. reported during boot). Use KERN_WARNING instead. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: David Shaw <dshaw@jabberwocky.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | ahci: move ahci_sb600_softreset to libahci.c and rename itYuan-Hsin Chen2011-07-233-58/+60
| | | | | | | | | | | | | | | | | | ahci_sb600_softreset was in ahci.c. This function is used to fix soft reset failure and renames as ahci_pmp_retry_softreset in libahci.c. Signed-off-by: Yuan-Hsin Chen <yhchen@faraday-tech.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | libata: leave port thawed after reset failureTejun Heo2011-07-231-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libata EH intentionally left a port frozen if it failed ata_eh_reset(). The intention was avoiding continuous loop of resets when the controller or attached device is flaky and reporting spurious hotplug events. Once port enters this state, it can be recovered with manual rescan, which seemed reasonable. However, outside of my convoluted test setup, there have been very few reports justifying this choice while there have been more cases where the automatic freezing of the port after hotplug attempt of a faulty device caused confusion and led to unnecessary resets. This patch changes the behavior so that the port is thawed after reset failure. This change doesn't necessarily solve but makes it easier and more intuitive to work around hotplug related problems (ie. re-pluggin or power cycling the device) as reported in the followings. https://bugzilla.kernel.org/show_bug.cgi?id=34712 http://thread.gmane.org/gmane.linux.kernel/1123265/focus=49548 Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Reartes Guillermo <rtguille@gmail.com> Reported-by: Bruce Stenning <b.stenning@indigovision.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>