[PATCH] libata: add ATAPI module option
From: Jeff Garzik (jgarzik_at_pobox.com)
Date: 08/30/05
- Previous message: Steve Kieu: "Re: Very strange Marvell/Yukon Gigabit NIC networking problems"
- Next in thread: Mark Lord: "Re: [PATCH] libata: add ATAPI module option"
- Reply: Mark Lord: "Re: [PATCH] libata: add ATAPI module option"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 30 Aug 2005 17:52:34 -0400 To: linux-ide@vger.kernel.org
Though DMA alignment, CDB interrupt, DMADIR, and PIO support issues
keep libata's ATAPI support turned off by default, as of 2.6.13-git1
PATA users with non-ancient CDROM and DVD drives can start testing
the ATAPI code.
I just checked the following patch into the 'upstream' branch of
libata-dev.git, to be sent to Linus in a few days.
To emphasize, however: DO NOT use libata ATAPI in a production setting.
[libata] allow ATAPI to be enabled with new atapi_enabled module option
ATAPI is getting close to being ready. To increase exposure, we enable
the code in the upstream kernel, but default it to off (present
behavior). Users must pass atapi_enabled=1 as a module option (if
module) or on the kernel command line (if built in) to turn on
discovery of their ATAPI devices.
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -75,6 +75,10 @@ static void __ata_qc_complete(struct ata
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/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
--- a/drivers/scsi/libata-scsi.c
+++ b/drivers/scsi/libata-scsi.c
@@ -1470,10 +1470,10 @@ ata_scsi_find_dev(struct ata_port *ap, s
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/drivers/scsi/libata.h b/drivers/scsi/libata.h
--- a/drivers/scsi/libata.h
+++ b/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/include/linux/libata.h b/include/linux/libata.h
--- a/include/linux/libata.h
+++ b/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 */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Previous message: Steve Kieu: "Re: Very strange Marvell/Yukon Gigabit NIC networking problems"
- Next in thread: Mark Lord: "Re: [PATCH] libata: add ATAPI module option"
- Reply: Mark Lord: "Re: [PATCH] libata: add ATAPI module option"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
- Re: [OT] Who has record no. of DriveReady SeekComplete DataRequest errors?
... Uniform CD-ROM driver Revision: 3.20 ... ATAPI 32X CD-ROM CD-R/RW drive,
2048kB Cache, UDMA ... send the line "unsubscribe linux-kernel" in ... (Linux-Kernel) - Re: atapi write support? No
... > out reporting that it cant access the drive. ... ATAPI: is
most likely wrong for what you want to do. ... send the line "unsubscribe linux-kernel"
in ... (Linux-Kernel) - Re: removable media revalidation - udev vs. devfs or static /dev
... how should it be done on my SCSI and parallel port ZIP? ... An ATAPI
ZIP ... send the line "unsubscribe linux-kernel" in ... (Linux-Kernel) - ide-cd vs. DMA
... Yet another case of ide-cd bogosly switching DMA of on ATAPI errors... ... ide:
failed opcode was: unknown ... send the line "unsubscribe linux-kernel" in ...
(Linux-Kernel) - Re: Backport ide-cd cdrecord support to 2.4
... burning over atapi works in 2.4 too... ... bastard die for his."
... send the line "unsubscribe linux-kernel" in ... (Linux-Kernel)