int reading, writing, ret; 
int reading, writing, ret = 0; 
static int sg_io(struct file *file, request_queue_t *q,		struct gendisk *bd_disk, struct sg_io_hdr *hdr){	unsigned long start_time;	int reading, writing, ret;	struct request *rq;	struct bio *bio;	char sense[SCSI_SENSE_BUFFERSIZE];	unsigned char cmd[BLK_MAX_CDB];	if (hdr->interface_id != 'S')		return -EINVAL;	if (hdr->cmd_len > BLK_MAX_CDB)		return -EINVAL;	if (copy_from_user(cmd, hdr->cmdp, hdr->cmd_len))		return -EFAULT;	if (verify_command(file, cmd))		return -EPERM;	if (hdr->dxfer_len > (q->max_sectors << 9))		return -EIO;	reading = writing = 0;	if (hdr->dxfer_len)		switch (hdr->dxfer_direction) {		default:			return -EINVAL;		case SG_DXFER_TO_FROM_DEV:			reading = 1;			/* fall through */		case SG_DXFER_TO_DEV:			writing = 1;			break;		case SG_DXFER_FROM_DEV:			reading = 1;			break;		}	}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e1f546e185e9d8cb9303d74d1cd5bc704f265384/scsi_ioctl.c/clean/drivers/block/scsi_ioctl.c