From f8b38781eb89bf7faf34dfe286cada08751d441c Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Mon, 5 Sep 2005 05:20:33 -0400 Subject: [PATCH] --- yaml --- r: 7105 b: refs/heads/master c: d0bd99299bf933ae006d2dc6a31ffcba482ae3f2 h: refs/heads/master i: 7103: b31ab85450fd4c505b25ca44f8a83dd79a3dd457 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/libata-core.c | 4 ++++ trunk/drivers/scsi/libata-scsi.c | 8 ++++---- trunk/drivers/scsi/libata.h | 1 + trunk/include/linux/libata.h | 1 - 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 3e0ce193c1b8..0549124674d5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 586a4ac509b041df55f26c2b26cd7cbdaf9b045d +refs/heads/master: d0bd99299bf933ae006d2dc6a31ffcba482ae3f2 diff --git a/trunk/drivers/scsi/libata-core.c b/trunk/drivers/scsi/libata-core.c index 1fe20f76fb50..9fb9814525a3 100644 --- a/trunk/drivers/scsi/libata-core.c +++ b/trunk/drivers/scsi/libata-core.c @@ -75,6 +75,10 @@ static void __ata_qc_complete(struct ata_queued_cmd *qc); static unsigned int ata_unique_id = 1; static struct workqueue_struct *ata_wq; +int atapi_enabled = 0; +module_param(atapi_enabled, int, 0444); +MODULE_PARM_DESC(atapi_enabled, "Enable discovery of ATAPI devices (0=off, 1=on)"); + MODULE_AUTHOR("Jeff Garzik"); MODULE_DESCRIPTION("Library module for ATA devices"); MODULE_LICENSE("GPL"); diff --git a/trunk/drivers/scsi/libata-scsi.c b/trunk/drivers/scsi/libata-scsi.c index 346eb36b1e31..104fd9a63e73 100644 --- a/trunk/drivers/scsi/libata-scsi.c +++ b/trunk/drivers/scsi/libata-scsi.c @@ -1470,10 +1470,10 @@ ata_scsi_find_dev(struct ata_port *ap, struct scsi_device *scsidev) if (unlikely(!ata_dev_present(dev))) return NULL; -#ifndef ATA_ENABLE_ATAPI - if (unlikely(dev->class == ATA_DEV_ATAPI)) - return NULL; -#endif + if (!atapi_enabled) { + if (unlikely(dev->class == ATA_DEV_ATAPI)) + return NULL; + } return dev; } diff --git a/trunk/drivers/scsi/libata.h b/trunk/drivers/scsi/libata.h index 809c634afbcd..d608b3a0f6fe 100644 --- a/trunk/drivers/scsi/libata.h +++ b/trunk/drivers/scsi/libata.h @@ -38,6 +38,7 @@ struct ata_scsi_args { }; /* libata-core.c */ +extern int atapi_enabled; extern struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap, struct ata_device *dev); extern void ata_qc_free(struct ata_queued_cmd *qc); diff --git a/trunk/include/linux/libata.h b/trunk/include/linux/libata.h index bd0f79dfb9cd..022105c745fc 100644 --- a/trunk/include/linux/libata.h +++ b/trunk/include/linux/libata.h @@ -40,7 +40,6 @@ #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ #undef ATA_IRQ_TRAP /* define to ack screaming irqs */ #undef ATA_NDEBUG /* define to disable quick runtime checks */ -#undef ATA_ENABLE_ATAPI /* define to enable ATAPI support */ #undef ATA_ENABLE_PATA /* define to enable PATA support in some * low-level drivers */ #undef ATAPI_ENABLE_DMADIR /* enables ATAPI DMADIR bridge support */