diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-05-27 23:52:58 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-28 22:14:00 +0400 |
commit | 9db29258893b08a838e5ecfa4a0933c9c1f2e305 (patch) | |
tree | 5df4fd30b103a46861fbbc9e9bfa81c198e4f674 /drivers/cdrom/viocd.c | |
parent | 9ae250d175e1cbff82223ce2c07897c790c5b948 (diff) | |
download | linux-9db29258893b08a838e5ecfa4a0933c9c1f2e305.tar.xz |
[PATCH] ppc64 iSeries: make virtual DVD-RAMs writable again
It appears that another test has been added in the Uniform CDROM layer that
must be passed before a DVD-RAM is considered writeable. This patch
implements an emulation of the needed packet command for the viocd driver.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/cdrom/viocd.c')
-rw-r--r-- | drivers/cdrom/viocd.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c index fcca26c89bbc..38dd9ffbe8bc 100644 --- a/drivers/cdrom/viocd.c +++ b/drivers/cdrom/viocd.c @@ -488,6 +488,20 @@ static int viocd_packet(struct cdrom_device_info *cdi, & (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 */ |