[PATCH] Fix incorrect Mt Rainier detection

From: Peter Osterlund
Date: Mon Oct 25 2004 - 16:25:46 EST


cdrom_is_mrw() can incorrectly think that a drive is Mt Rainier
capable, because if forgets to check if the "GET CONFIGURATION"
command returns the MRW feature number. According to the MMC spec,
the drive shall return all feature numbers >= the starting feature
number, so even if the drive doesn't support Mt Rainier, it can return
some data that makes cdrom_is_mrw() incorrectly think the drive is MRW
capable.

This problem stops me from mounting DVD+RW discs in R/W mode on my
laptop, because it makes cdrom_open_write() call
cdrom_mrw_open_write() which fails because the drive isn't really MRW
capable.

The fix is to make sure the returned feature number is the correct one
for Mt Rainier.

Signed-off-by: Peter Osterlund <petero2@xxxxxxxxx>
---

linux-petero/drivers/cdrom/cdrom.c | 2 ++
1 files changed, 2 insertions(+)

diff -puN drivers/cdrom/cdrom.c~mrw-fix drivers/cdrom/cdrom.c
--- linux/drivers/cdrom/cdrom.c~mrw-fix 2004-10-25 22:43:15.711347640 +0200
+++ linux-petero/drivers/cdrom/cdrom.c 2004-10-25 22:43:15.716346880 +0200
@@ -546,6 +546,8 @@ int cdrom_is_mrw(struct cdrom_device_inf
return ret;

mfd = (struct mrw_feature_desc *)&buffer[sizeof(struct feature_header)];
+ if (be16_to_cpu(mfd->feature_code) != CDF_MRW)
+ return 1;
*write = mfd->write;

if ((ret = cdrom_mrw_probe_pc(cdi))) {
_

--
Peter Osterlund - petero2@xxxxxxxxx
http://w1.894.telia.com/~u89404340
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/