VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / scsi / sata_sil.c
index 33ae676..72a89d1 100644 (file)
@@ -86,6 +86,7 @@ struct sil_drivelist {
        { "ST360015AS",         SIL_QUIRK_MOD15WRITE },
        { "ST380023AS",         SIL_QUIRK_MOD15WRITE },
        { "ST3120023AS",        SIL_QUIRK_MOD15WRITE },
+       { "ST3160023AS",        SIL_QUIRK_MOD15WRITE },
        { "ST340014ASL",        SIL_QUIRK_MOD15WRITE },
        { "ST360014ASL",        SIL_QUIRK_MOD15WRITE },
        { "ST380011ASL",        SIL_QUIRK_MOD15WRITE },
@@ -131,9 +132,11 @@ static struct ata_port_operations sil_ops = {
        .post_set_mode          = sil_post_set_mode,
        .bmdma_setup            = ata_bmdma_setup_mmio,
        .bmdma_start            = ata_bmdma_start_mmio,
-       .fill_sg                = ata_fill_sg,
+       .qc_prep                = ata_qc_prep,
+       .qc_issue               = ata_qc_issue_prot,
        .eng_timeout            = ata_eng_timeout,
        .irq_handler            = ata_interrupt,
+       .irq_clear              = ata_bmdma_irq_clear,
        .scr_read               = sil_scr_read,
        .scr_write              = sil_scr_write,
        .port_start             = ata_port_start,
@@ -302,6 +305,7 @@ static void sil_dev_config(struct ata_port *ap, struct ata_device *dev)
                       ap->id, dev->devno);
                ap->host->max_sectors = 15;
                ap->host->hostt->max_sectors = 15;
+               dev->flags |= ATA_DFLAG_LOCK_SECTORS;
                return;
        }