]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ata/sata_sil.c
sata_promise: handle ATAPI_NODATA ourselves
[linux-2.6-omap-h63xx.git] / drivers / ata / sata_sil.c
index 7808d0369d91e2a59907080c7372bd5c7b2b11c9..1f3fdcf29876bb6936924e67ec21d240a7bdcd55 100644 (file)
@@ -541,9 +541,9 @@ static void sil_dev_config(struct ata_port *ap, struct ata_device *dev)
 {
        int print_info = ap->eh_context.i.flags & ATA_EHI_PRINTINFO;
        unsigned int n, quirks = 0;
-       unsigned char model_num[41];
+       unsigned char model_num[ATA_ID_PROD_LEN + 1];
 
-       ata_id_c_string(dev->id, model_num, ATA_ID_PROD_OFS, sizeof(model_num));
+       ata_id_c_string(dev->id, model_num, ATA_ID_PROD, sizeof(model_num));
 
        for (n = 0; sil_blacklist[n].product; n++)
                if (!strcmp(sil_blacklist[n].product, model_num)) {
@@ -710,8 +710,12 @@ err_out:
 static int sil_pci_device_resume(struct pci_dev *pdev)
 {
        struct ata_host *host = dev_get_drvdata(&pdev->dev);
+       int rc;
+
+       rc = ata_pci_device_do_resume(pdev);
+       if (rc)
+               return rc;
 
-       ata_pci_device_do_resume(pdev);
        sil_init_controller(pdev, host->n_ports, host->ports[0]->flags,
                            host->mmio_base);
        ata_host_resume(host);