From acfa2c43daf56ff68ecc5add06b840ab35402812 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 19 May 2008 01:15:13 +0900 Subject: [PATCH] --- yaml --- r: 96955 b: refs/heads/master c: 906c1ff44a81aaad96a9feb40ea13d73bbf3662a h: refs/heads/master i: 96953: de3828ff70e8e9f0670df6693814f5aa8c4400ba 96951: 7d43ef9826bb2a6a26abd12e1e7d348458c8ff4f v: v3 --- [refs] | 2 +- trunk/drivers/ata/sata_sil24.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b74f2ea87d3a..891a45560f7e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 391191c116c088edc6794a6e5ace10a13928c2f6 +refs/heads/master: 906c1ff44a81aaad96a9feb40ea13d73bbf3662a diff --git a/trunk/drivers/ata/sata_sil24.c b/trunk/drivers/ata/sata_sil24.c index 27a110110077..8ee6b5b4ede7 100644 --- a/trunk/drivers/ata/sata_sil24.c +++ b/trunk/drivers/ata/sata_sil24.c @@ -899,14 +899,25 @@ static bool sil24_qc_fill_rtf(struct ata_queued_cmd *qc) static void sil24_pmp_attach(struct ata_port *ap) { + u32 *gscr = ap->link.device->gscr; + sil24_config_pmp(ap, 1); sil24_init_port(ap); + + if (sata_pmp_gscr_vendor(gscr) == 0x11ab && + sata_pmp_gscr_devid(gscr) == 0x4140) { + ata_port_printk(ap, KERN_INFO, + "disabling NCQ support due to sil24-mv4140 quirk\n"); + ap->flags &= ~ATA_FLAG_NCQ; + } } static void sil24_pmp_detach(struct ata_port *ap) { sil24_init_port(ap); sil24_config_pmp(ap, 0); + + ap->flags |= ATA_FLAG_NCQ; } static int sil24_pmp_hardreset(struct ata_link *link, unsigned int *class,