err = -EFAULT;
goto err_out;
}
- if (srp->bio) {
- err = blk_rq_unmap_user(srp->bio);
- srp->bio = NULL;
- }
err_out:
sg_finish_rem_req(srp);
return (0 == err) ? count : err;
if (sg_sysfs_valid) {
struct device *sg_class_member;
- sg_class_member = device_create_drvdata(sg_sysfs_class,
- cl_dev->parent,
- MKDEV(SCSI_GENERIC_MAJOR,
- sdp->index),
- sdp,
- "%s", disk->disk_name);
+ sg_class_member = device_create(sg_sysfs_class, cl_dev->parent,
+ MKDEV(SCSI_GENERIC_MAJOR,
+ sdp->index),
+ sdp, "%s", disk->disk_name);
if (IS_ERR(sg_class_member)) {
printk(KERN_ERR "sg_add: "
"device_create failed\n");
if ((!outp) || (num_read_xfer <= 0))
return 0;
- blk_rq_unmap_user(srp->bio);
- srp->bio = NULL;
-
num = 1 << (PAGE_SHIFT + schp->page_order);
for (k = 0; k < schp->k_use_sg && schp->pages[k]; k++) {
if (num > num_read_xfer) {