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 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata

Pull libata fixes from Tejun Heo:
"Nothing drastic but pushing out early due to build breakage in the new
tegra platform.

Additionally:

- M550 tagged trim blacklist pattern is widened so that it matches
the new 1TB model

- three controller specific fixes"

* 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
libata: widen Crucial M550 blacklist matching
pata_scc: propagate return value of scc_wait_after_reset
ata: ahci_tegra: Change include to fix compilation
pata_samsung_cf: change ret type to signed
ahci_xgene: Removing NCQ support from the APM X-Gene SoC AHCI SATA Host Controller driver.

+12 -13
+1 -1
drivers/ata/ahci_tegra.c
··· 24 24 #include <linux/module.h> 25 25 #include <linux/of_device.h> 26 26 #include <linux/platform_device.h> 27 - #include <linux/tegra-powergate.h> 28 27 #include <linux/regulator/consumer.h> 28 + #include <soc/tegra/pmc.h> 29 29 #include "ahci.h" 30 30 31 31 #define SATA_CONFIGURATION_0 0x180
+2 -2
drivers/ata/ahci_xgene.c
··· 344 344 }; 345 345 346 346 static const struct ata_port_info xgene_ahci_port_info = { 347 - .flags = AHCI_FLAG_COMMON | ATA_FLAG_NCQ, 347 + .flags = AHCI_FLAG_COMMON, 348 348 .pio_mask = ATA_PIO4, 349 349 .udma_mask = ATA_UDMA6, 350 350 .port_ops = &xgene_ahci_ops, ··· 480 480 /* Configure the host controller */ 481 481 xgene_ahci_hw_init(hpriv); 482 482 483 - hpriv->flags = AHCI_HFLAG_NO_PMP | AHCI_HFLAG_YES_NCQ; 483 + hpriv->flags = AHCI_HFLAG_NO_PMP | AHCI_HFLAG_NO_NCQ; 484 484 485 485 rc = ahci_platform_init_host(pdev, hpriv, &xgene_ahci_port_info); 486 486 if (rc)
+1 -1
drivers/ata/libata-core.c
··· 4228 4228 { "Micron_M500*", NULL, ATA_HORKAGE_NO_NCQ_TRIM, }, 4229 4229 { "Crucial_CT???M500SSD*", NULL, ATA_HORKAGE_NO_NCQ_TRIM, }, 4230 4230 { "Micron_M550*", NULL, ATA_HORKAGE_NO_NCQ_TRIM, }, 4231 - { "Crucial_CT???M550SSD*", NULL, ATA_HORKAGE_NO_NCQ_TRIM, }, 4231 + { "Crucial_CT*M550SSD*", NULL, ATA_HORKAGE_NO_NCQ_TRIM, }, 4232 4232 4233 4233 /* 4234 4234 * Some WD SATA-I drives spin up and down erratically when the link
+1 -1
drivers/ata/pata_samsung_cf.c
··· 360 360 /* 361 361 * pata_s3c_bus_softreset - PATA device software reset 362 362 */ 363 - static unsigned int pata_s3c_bus_softreset(struct ata_port *ap, 363 + static int pata_s3c_bus_softreset(struct ata_port *ap, 364 364 unsigned long deadline) 365 365 { 366 366 struct ata_ioports *ioaddr = &ap->ioaddr;
+7 -8
drivers/ata/pata_scc.c
··· 585 585 * Note: Original code is ata_bus_softreset(). 586 586 */ 587 587 588 - static unsigned int scc_bus_softreset(struct ata_port *ap, unsigned int devmask, 588 + static int scc_bus_softreset(struct ata_port *ap, unsigned int devmask, 589 589 unsigned long deadline) 590 590 { 591 591 struct ata_ioports *ioaddr = &ap->ioaddr; ··· 599 599 udelay(20); 600 600 out_be32(ioaddr->ctl_addr, ap->ctl); 601 601 602 - scc_wait_after_reset(&ap->link, devmask, deadline); 603 - 604 - return 0; 602 + return scc_wait_after_reset(&ap->link, devmask, deadline); 605 603 } 606 604 607 605 /** ··· 616 618 { 617 619 struct ata_port *ap = link->ap; 618 620 unsigned int slave_possible = ap->flags & ATA_FLAG_SLAVE_POSS; 619 - unsigned int devmask = 0, err_mask; 621 + unsigned int devmask = 0; 622 + int rc; 620 623 u8 err; 621 624 622 625 DPRINTK("ENTER\n"); ··· 633 634 634 635 /* issue bus reset */ 635 636 DPRINTK("about to softreset, devmask=%x\n", devmask); 636 - err_mask = scc_bus_softreset(ap, devmask, deadline); 637 - if (err_mask) { 638 - ata_port_err(ap, "SRST failed (err_mask=0x%x)\n", err_mask); 637 + rc = scc_bus_softreset(ap, devmask, deadline); 638 + if (rc) { 639 + ata_port_err(ap, "SRST failed (err_mask=0x%x)\n", rc); 639 640 return -EIO; 640 641 } 641 642