Messages in this thread Patch in this message | | | Date | Mon, 04 Sep 2006 04:42:35 +0200 | From | Tejun Heo <> | Subject | Re: Lost DVD-RW [Was Re: 2.6.18-rc5-mm1] |
| |
Andrew Morton wrote: > On Mon, 4 Sep 2006 01:34:43 +0200 > "J.A. Magallón" <jamagallon@ono.com> wrote: > >> On Fri, 1 Sep 2006 01:58:18 -0700, Andrew Morton <akpm@osdl.org> wrote: >> >>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc5/2.6.18-rc5-mm1/ >>> >> Err, my burner got lost this summer ;). >> This is really not a bug of _this_ kernel, because I noticed it dissapeared >> with the previous release also, just before going on vacation... But as it >> did not come back with this relase, I report it here. >> >> Last kernel that I have tried that worked was 2.6.18-rc2-mm1. With this >> relase, it is gone still. dmesg for both kernels is below. >> The only thing I hace noticed is the different IRQ assignment between >> them. >> >> Any ideas ? TIA. >> >> dmesg for rc2-mm1: >> scsi0 : ata_piix >> ata1.00: ATAPI, max UDMA/33 >> ata1.01: ATAPI, max MWDMA0, CDB intr >> ata1.00: configured for UDMA/33 >> ata1.01: configured for PIO3 >> Vendor: HL-DT-ST Model: DVDRAM GSA-4120B Rev: A111 >> Type: CD-ROM ANSI SCSI revision: 05 >> Vendor: IOMEGA Model: ZIP 250 Rev: 51.G >> Type: Direct-Access ANSI SCSI revision: 05 >> >> dmesg for rc5-mm1: >> ata1.00: failed to IDENTIFY (device reports illegal type, err_mask=0x0)
Hmmm... Strange.
The related code hasn't changed much between rc2-mm1 and rc5-mm1. We're talking about 2.6.18-rc2-mm1 and 2.6.18-rc5-mm1, right?
Can you try the attached patch and report what the kernel says?
-- tejun diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 1c93154..af2fc6f 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -1276,6 +1276,8 @@ int ata_dev_read_id(struct ata_device *d swap_buf_le16(id, ATA_ID_WORDS); /* sanity check */ + ata_dev_printk(dev, KERN_INFO, "XXX class=%d is_ata=%d is_cfa=%d\n", + class, ata_id_is_ata(id), ata_id_is_cfa(id)); if ((class == ATA_DEV_ATA) != (ata_id_is_ata(id) | ata_id_is_cfa(id))) { rc = -EINVAL; reason = "device reports illegal type"; | |