projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] USB: option card driver coding style tweaks
[powerpc.git]
/
drivers
/
cdrom
/
cdrom.c
diff --git
a/drivers/cdrom/cdrom.c
b/drivers/cdrom/cdrom.c
index
beaa561
..
1539603
100644
(file)
--- a/
drivers/cdrom/cdrom.c
+++ b/
drivers/cdrom/cdrom.c
@@
-2097,6
+2097,10
@@
static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf,
if (!q)
return -ENXIO;
if (!q)
return -ENXIO;
+ rq = blk_get_request(q, READ, GFP_KERNEL);
+ if (!rq)
+ return -ENOMEM;
+
cdi->last_sense = 0;
while (nframes) {
cdi->last_sense = 0;
while (nframes) {
@@
-2108,9
+2112,9
@@
static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf,
len = nr * CD_FRAMESIZE_RAW;
len = nr * CD_FRAMESIZE_RAW;
- r
q = blk_rq_map_user(q, READ
, ubuf, len);
- if (
IS_ERR(rq)
)
-
return PTR_ERR(rq)
;
+ r
et = blk_rq_map_user(q, rq
, ubuf, len);
+ if (
ret
)
+
break
;
memset(rq->cmd, 0, sizeof(rq->cmd));
rq->cmd[0] = GPCMD_READ_CD;
memset(rq->cmd, 0, sizeof(rq->cmd));
rq->cmd[0] = GPCMD_READ_CD;
@@
-2132,13
+2136,13
@@
static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf,
if (rq->bio)
blk_queue_bounce(q, &rq->bio);
if (rq->bio)
blk_queue_bounce(q, &rq->bio);
- if (blk_execute_rq(q, cdi->disk, rq)) {
+ if (blk_execute_rq(q, cdi->disk, rq
, 0
)) {
struct request_sense *s = rq->sense;
ret = -EIO;
cdi->last_sense = s->sense_key;
}
struct request_sense *s = rq->sense;
ret = -EIO;
cdi->last_sense = s->sense_key;
}
- if (blk_rq_unmap_user(
rq,
bio, len))
+ if (blk_rq_unmap_user(bio, len))
ret = -EFAULT;
if (ret)
ret = -EFAULT;
if (ret)
@@
-2149,6
+2153,7
@@
static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf,
ubuf += len;
}
ubuf += len;
}
+ blk_put_request(rq);
return ret;
}
return ret;
}