PROBLEM: (libata) cdrom drive not detected in -mm series

From: Nelson A. de Oliveira
Date: Mon Sep 11 2006 - 21:02:10 EST


Hi!

My USB CD-ROM drive (that is detected as a SCSI drive) is not being
detected on the -mm series of the Kernel.

With a 2.6.18-rc6-mm1 tree and after some bisection work, I've found
that the problem is somewhere on these patches:

git-libata-all.patch
libata-ignore-cfa-signature-while-sanity-checking-an-atapi-device.patch
kerneldoc-error-on-ata_piixc.patch
libata-add-40pin-short-cable-support-honour-drive.patch
libata-add-40pin-short-cable-support-honour-drive-fix.patch
asus-mv-device-ids.patch
1-of-2-jmicron-driver.patch
1-of-2-jmicron-driver-fix.patch
2-of-2-jmicron-driver-plumbing-and-quirk.patch
2-of-2-jmicron-driver-plumbing-and-quirk-cleanup.patch
non-libata-driver-for-jmicron-devices.patch
via-pata-controller-xfer-fixes.patch
via-pata-controller-xfer-fixes-fix.patch
via-sata-oops-on-init.patch
libata_resume_fix.patch

Doing a "quilt push
fail-kernel-compilation-in-case-of-unresolved-symbols-v2" (that is the
patch right before the ones from libata), I get a working Kernel, that
detects perfectly my CD-ROM drive.
With a "quilt push libata_resume_fix" (so all the libata changes get
included), the resulting Kernel doesn't detect my CD-ROM drive.

With the libata things applied I can see on /proc/devices:

(...)
Block devices:
7 loop
8 sd
11 sr

But even with sr_mod loaded, I can't get any /dev/sr0 or /dev/scd0.
Since udev is the same with all the tests and /dev/scd0 is there
without libata updates applied, I think that it's something not with
udev, but with the Kernel.

I am sending attached a diff file against dmseg of a working
2.6.18-rc6 against a non-working 2.6.18-rc6-mm1 and also the config
file that I am using with 2.6.18-rc6-mm1

Please, CC me with any answers, questions, etc.

Thank you very much!

Best regards,
Nelson

Attachment: diff
Description: Binary data

Attachment: config
Description: Binary data