The patch titled pata_ali: more work has been added to the -mm tree. Its filename is pata_ali-more-work.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: pata_ali: more work From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Still don't know why some people see problems with ATAPI devices specifically but here are some more small fixes done while searching for the root problem (some of these fixes are overconservative but that can be fixed *after* the thing works fully) Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/ata/pata_ali.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff -puN drivers/ata/pata_ali.c~pata_ali-more-work drivers/ata/pata_ali.c --- a/drivers/ata/pata_ali.c~pata_ali-more-work +++ a/drivers/ata/pata_ali.c @@ -346,6 +346,16 @@ static int ali_check_atapi_dma(struct at return 0; } +static int ali_check_atapi_dma_20(struct ata_queued_cmd *qc) +{ + if (qc->dma_dir == DMA_TO_DEVICE) + return -1; + /* Don't do DMA except for whole blocks */ + if (qc->nbytes & 511) + return -1; + return 0; +} + static struct scsi_host_template ali_sht = { .module = THIS_MODULE, .name = DRV_NAME, @@ -389,7 +399,6 @@ static struct ata_port_operations ali_ea .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, - .check_atapi_dma= ali_check_atapi_dma, .data_xfer = ata_data_xfer, @@ -432,7 +441,7 @@ static struct ata_port_operations ali_20 .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, - .check_atapi_dma= ali_check_atapi_dma, + .check_atapi_dma= ali_check_atapi_dma_20, .data_xfer = ata_data_xfer, @@ -629,22 +638,22 @@ static int ali_init_one(struct pci_dev * .udma_mask = 0x1f, .port_ops = &ali_c2_port_ops }; - /* Revision 0xC3 is UDMA100 */ + /* Revision 0xC3 is UDMA66 for now */ static struct ata_port_info info_c3 = { .sht = &ali_sht, .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, .pio_mask = 0x1f, .mwdma_mask = 0x07, - .udma_mask = 0x3f, + .udma_mask = 0x1f, .port_ops = &ali_c2_port_ops }; - /* Revision 0xC4 is UDMA133 */ + /* Revision 0xC4 is UDMA100 */ static struct ata_port_info info_c4 = { .sht = &ali_sht, .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, .pio_mask = 0x1f, .mwdma_mask = 0x07, - .udma_mask = 0x7f, + .udma_mask = 0x3f, .port_ops = &ali_c2_port_ops }; /* Revision 0xC5 is UDMA133 with LBA48 DMA */ _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are origin.patch git-agpgart.patch git-powerpc.patch git-libata-all.patch pata_hpt37x-further-small-fixes.patch pata_hpt3x2n-add-hpt371n-support-and-other-bits.patch drivers-ata-pata_cmd640c-fix-build-with-config_pm=n.patch ata_timing-ensure-t-cycle-is-always-correct.patch libata-fix-hopefully-all-the-remaining-problems-with.patch testing-patch-for-ali-pata-fixes-hopefully-for-the-problems-with-atapi-dma.patch testing-patch-for-ali-pata-fixes-hopefully-for-the-problems-with-atapi-dma-fix.patch pata_ali-more-work.patch git-netdev-all.patch pcmcia-irq-probe-can-be-done-without-risking-an-irq-storm.patch serial-suppress-rts-assertion-with-disabled-crtscts.patch drivers-scsi-ncr5380c-replacing-yield-with-a.patch drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch driver_bfin_serial_core.patch driver_bfin_serial_core-update.patch documentation-ask-driver-writers-to-provide-pm-support.patch tty-clarify-documentation-of-write.patch tty-i386-x86_64-arbitary-speed-support.patch fixes-and-cleanups-for-earlyprintk-aka-boot-console.patch tty-remove-unnecessary-export-of-proc_clear_tty.patch tty-simplify-calling-of-put_pid.patch tty-introduce-no_tty-and-use-it-in-selinux.patch tty-in-tiocsctty-when-we-steal-a-tty-hang-it-up.patch protect-tty-drivers-list-with-tty_mutex.patch fix-82875-pci-setup.patch doc-kernel-parameters-use-x86-32-tag-instead-of-ia-32.patch remove-redundant-check-from-proc_sys_setattr.patch apm-fix-incorrect-comment.patch upper-32-bits.patch console-utf-8-fixes.patch add-pci_try_set_mwi.patch edac-new-opteron-athlon64-memory-controller-driver.patch edac-k8-driver-coding-tidy.patch revoke-core-code-revoke-no-revoke-for-nommu.patch add-irqf_irqpoll-flag-common-code.patch add-irqf_irqpoll-flag-on-x86_64.patch add-irqf_irqpoll-flag-on-i386.patch add-irqf_irqpoll-flag-on-ia64.patch add-irqf_irqpoll-flag-on-sh.patch add-irqf_irqpoll-flag-on-arm.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html