Uwe, others, does this patch fix your problem?

It will have a few printk's that it spews out, but if it fixes your 
problem, at least we know a bit more.

                Linus
---
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index 2528a0c..f0ff151 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -333,8 +333,13 @@ static int sg_io(struct file *file, request_queue_t *q,
                        hdr->sb_len_wr = len;
        }
 
-       if (blk_rq_unmap_user(bio))
+       if (rq->bio != bio)
+               printk("rq->bio = %p, bio = %p\n", rq->bio, bio);
+
+       if (blk_rq_unmap_user(rq->bio)) {
+               printk("blk_rq_unmap_user failed!\n");
                ret = -EFAULT;
+       }
 
        /* may not have succeeded, but output values written to control
         * structure (struct sg_io_hdr).  */
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to