]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
libata-sff: remove harmful BUG_ON from ata_bmdma_qc_issue
authorMark Lord <kernel@teksavvy.com>
Fri, 20 Aug 2010 14:13:16 +0000 (10:13 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Sep 2010 20:36:07 +0000 (13:36 -0700)
commit 55ee67f837882f28a900705a2ca1af257ab6c53d upstream.

Remove harmful BUG_ON() from ata_bmdma_qc_issue(),
as it casts too wide of a net and breaks sata_mv.
It also crashes the kernel while doing the BUG_ON().

There's already a WARN_ON_ONCE() further down to catch
the case of POLLING for a BMDMA operation.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ata/libata-sff.c

index efa4a18cfb9d92fb9a79670abf69669f96f2d436..494eb9f1329feedf344fe95ad56cbf4b86406bc7 100644 (file)
@@ -2735,10 +2735,6 @@ unsigned int ata_bmdma_qc_issue(struct ata_queued_cmd *qc)
 {
        struct ata_port *ap = qc->ap;
 
-       /* see ata_dma_blacklisted() */
-       BUG_ON((ap->flags & ATA_FLAG_PIO_POLLING) &&
-              qc->tf.protocol == ATAPI_PROT_DMA);
-
        /* defer PIO handling to sff_qc_issue */
        if (!ata_is_dma(qc->tf.protocol))
                return ata_sff_qc_issue(qc);