Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'upstream-linus' of git://github.com/jgarzik/libata-dev

* 'upstream-linus' of git://github.com/jgarzik/libata-dev:
pata_of_platform: Don't use NO_IRQ
[libata] ahci: Add ASMedia ASM1061 support
[libata] Issue SRST to Sil3726 PMP
sata_sis.c: trivial spelling fix
ahci_platform: use dev_get_platdata()
[libata] libata-scsi.c: Add function parameter documentation

+26 -10
+3
drivers/ata/ahci.c
··· 390 390 /* Promise */ 391 391 { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ 392 392 393 + /* Asmedia */ 394 + { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1061 */ 395 + 393 396 /* Generic, PCI class code for AHCI */ 394 397 { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 395 398 PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci },
+2 -2
drivers/ata/ahci_platform.c
··· 65 65 static int __init ahci_probe(struct platform_device *pdev) 66 66 { 67 67 struct device *dev = &pdev->dev; 68 - struct ahci_platform_data *pdata = dev->platform_data; 68 + struct ahci_platform_data *pdata = dev_get_platdata(dev); 69 69 const struct platform_device_id *id = platform_get_device_id(pdev); 70 70 struct ata_port_info pi = ahci_port_info[id->driver_data]; 71 71 const struct ata_port_info *ppi[] = { &pi, NULL }; ··· 191 191 static int __devexit ahci_remove(struct platform_device *pdev) 192 192 { 193 193 struct device *dev = &pdev->dev; 194 - struct ahci_platform_data *pdata = dev->platform_data; 194 + struct ahci_platform_data *pdata = dev_get_platdata(dev); 195 195 struct ata_host *host = dev_get_drvdata(dev); 196 196 197 197 ata_host_detach(host);
+11 -1
drivers/ata/libata-eh.c
··· 2883 2883 sata_scr_read(link, SCR_STATUS, &sstatus)) 2884 2884 rc = -ERESTART; 2885 2885 2886 - if (rc == -ERESTART || try >= max_tries) { 2886 + if (try >= max_tries) { 2887 2887 /* 2888 2888 * Thaw host port even if reset failed, so that the port 2889 2889 * can be retried on the next phy event. This risks ··· 2907 2907 while (delta) 2908 2908 delta = schedule_timeout_uninterruptible(delta); 2909 2909 ata_eh_acquire(ap); 2910 + } 2911 + 2912 + /* 2913 + * While disks spinup behind PMP, some controllers fail sending SRST. 2914 + * They need to be reset - as well as the PMP - before retrying. 2915 + */ 2916 + if (rc == -ERESTART) { 2917 + if (ata_is_host_link(link)) 2918 + ata_eh_thaw_port(ap); 2919 + goto out; 2910 2920 } 2911 2921 2912 2922 if (try == max_tries - 1) {
+2 -5
drivers/ata/libata-pmp.c
··· 389 389 /* link reports offline after LPM */ 390 390 link->flags |= ATA_LFLAG_NO_LPM; 391 391 392 - /* Class code report is unreliable and SRST 393 - * times out under certain configurations. 394 - */ 392 + /* Class code report is unreliable. */ 395 393 if (link->pmp < 5) 396 - link->flags |= ATA_LFLAG_NO_SRST | 397 - ATA_LFLAG_ASSUME_ATA; 394 + link->flags |= ATA_LFLAG_ASSUME_ATA; 398 395 399 396 /* port 5 is for SEMB device and it doesn't like SRST */ 400 397 if (link->pmp == 5)
+4
drivers/ata/libata-scsi.c
··· 1217 1217 1218 1218 /** 1219 1219 * __ata_change_queue_depth - helper for ata_scsi_change_queue_depth 1220 + * @ap: ATA port to which the device change the queue depth 1221 + * @sdev: SCSI device to configure queue depth for 1222 + * @queue_depth: new queue depth 1223 + * @reason: calling context 1220 1224 * 1221 1225 * libsas and libata have different approaches for associating a sdev to 1222 1226 * its ata_port.
+1 -1
drivers/ata/pata_of_platform.c
··· 52 52 } 53 53 54 54 ret = of_irq_to_resource(dn, 0, &irq_res); 55 - if (ret == NO_IRQ) 55 + if (!ret) 56 56 irq_res.start = irq_res.end = 0; 57 57 else 58 58 irq_res.flags = 0;
+1 -1
drivers/ata/sata_sis.c
··· 104 104 }; 105 105 106 106 MODULE_AUTHOR("Uwe Koziolek"); 107 - MODULE_DESCRIPTION("low-level driver for Silicon Integratad Systems SATA controller"); 107 + MODULE_DESCRIPTION("low-level driver for Silicon Integrated Systems SATA controller"); 108 108 MODULE_LICENSE("GPL"); 109 109 MODULE_DEVICE_TABLE(pci, sis_pci_tbl); 110 110 MODULE_VERSION(DRV_VERSION);
+2
include/linux/pci_ids.h
··· 2405 2405 2406 2406 #define PCI_VENDOR_ID_AZWAVE 0x1a3b 2407 2407 2408 + #define PCI_VENDOR_ID_ASMEDIA 0x1b21 2409 + 2408 2410 #define PCI_VENDOR_ID_TEKRAM 0x1de1 2409 2411 #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 2410 2412