From: Mark Lord Date: Fri, 20 Aug 2010 14:13:16 +0000 (-0400) Subject: libata-sff: remove harmful BUG_ON from ata_bmdma_qc_issue X-Git-Tag: v2.6.35.5~120 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=53c51d4aeb274e26155cfff8e09f0aad32f667a0;p=karo-tx-linux.git libata-sff: remove harmful BUG_ON from ata_bmdma_qc_issue 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 Signed-off-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index efa4a18cfb9d..494eb9f1329f 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c @@ -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);