git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
block
/
scsi_ioctl.c
diff --git
a/block/scsi_ioctl.c
b/block/scsi_ioctl.c
index
848ac42
..
b33eda2
100644
(file)
--- a/
block/scsi_ioctl.c
+++ b/
block/scsi_ioctl.c
@@
-246,10
+246,10
@@
static int sg_io(struct file *file, request_queue_t *q,
switch (hdr->dxfer_direction) {
default:
return -EINVAL;
switch (hdr->dxfer_direction) {
default:
return -EINVAL;
+ case SG_DXFER_TO_FROM_DEV:
case SG_DXFER_TO_DEV:
writing = 1;
break;
case SG_DXFER_TO_DEV:
writing = 1;
break;
- case SG_DXFER_TO_FROM_DEV:
case SG_DXFER_FROM_DEV:
break;
}
case SG_DXFER_FROM_DEV:
break;
}
@@
-286,8
+286,9
@@
static int sg_io(struct file *file, request_queue_t *q,
* fill in request structure
*/
rq->cmd_len = hdr->cmd_len;
* fill in request structure
*/
rq->cmd_len = hdr->cmd_len;
- memset(rq->cmd, 0, BLK_MAX_CDB); /* ATAPI hates garbage after CDB */
memcpy(rq->cmd, cmd, hdr->cmd_len);
memcpy(rq->cmd, cmd, hdr->cmd_len);
+ if (sizeof(rq->cmd) != hdr->cmd_len)
+ memset(rq->cmd + hdr->cmd_len, 0, sizeof(rq->cmd) - hdr->cmd_len);
memset(sense, 0, sizeof(sense));
rq->sense = sense;
memset(sense, 0, sizeof(sense));
rq->sense = sense;