[PATCH] ppc64 iSeries: make virtual DVD-RAMs writable again

Stephen Rothwell sfr at canb.auug.org.au
Thu May 26 17:18:06 EST 2005


Hi Andrew,

It appears that another test has been added in the Uniform CDROM layer
that must be passed before a DVD-RAM is considered wrieable.  This patch
implements an emulation of the needed packet command for the viocd driver.

Signed-off-by:  Stephen Rothwell <sfr at canb.auug.org.au>

-- 
Cheers,
Stephen Rothwell                    sfr at canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff -ruNp linus/drivers/cdrom/viocd.c linus-viocd.dvd/drivers/cdrom/viocd.c
--- linus/drivers/cdrom/viocd.c	2005-05-20 09:03:44.000000000 +1000
+++ linus-viocd.dvd/drivers/cdrom/viocd.c	2005-05-13 16:00:10.000000000 +1000
@@ -488,6 +488,20 @@ static int viocd_packet(struct cdrom_dev
 					 & (CDC_DVD_RAM | CDC_RAM)) != 0;
 		}
 		break;
+	case GPCMD_GET_CONFIGURATION:
+		if (cgc->cmd[3] == CDF_RWRT) {
+			struct rwrt_feature_desc *rfd = (struct rwrt_feature_desc *)(cgc->buffer + sizeof(struct feature_header));
+
+			if ((buflen >=
+			     (sizeof(struct feature_header) + sizeof(*rfd))) &&
+			    (cdi->ops->capability & ~cdi->mask
+			     & (CDC_DVD_RAM | CDC_RAM))) {
+				rfd->feature_code = cpu_to_be16(CDF_RWRT);
+				rfd->curr = 1;
+				ret = 0;
+			}
+		}
+		break;
 	default:
 		if (cgc->sense) {
 			/* indicate Unknown code */



More information about the Linuxppc64-dev mailing list