From: Jens Axboe <axboe@suse.de>

If the drive doesn't support GPCMD_READ_DISC_INFO at all, permit writeable
opens.


---

 25-akpm/drivers/cdrom/cdrom.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff -puN drivers/cdrom/cdrom.c~make-borken-cdroms-writeable drivers/cdrom/cdrom.c
--- 25/drivers/cdrom/cdrom.c~make-borken-cdroms-writeable	2004-03-25 00:39:55.274367352 -0800
+++ 25-akpm/drivers/cdrom/cdrom.c	2004-03-25 00:39:55.277366896 -0800
@@ -725,7 +725,7 @@ static int cdrom_media_erasable(struct c
 	disc_information di;
 
 	if (cdrom_get_disc_info(cdi, &di))
-		return 0;
+		return -1;
 
 	return di.erasable;
 }
@@ -735,7 +735,16 @@ static int cdrom_media_erasable(struct c
  */
 static int cdrom_dvdram_open_write(struct cdrom_device_info *cdi)
 {
-	return !cdrom_media_erasable(cdi);
+	int ret = cdrom_media_erasable(cdi);
+
+	/*
+	 * allow writable open if media info read worked and media is
+	 * erasable, _or_ if it fails since not all drives support it
+	 */
+	if (!ret)
+		return 1;
+
+	return 0;
 }
 
 static int cdrom_mrw_open_write(struct cdrom_device_info *cdi)

_