Lines Matching refs:sdev
89 static int ioctl_internal_command(struct scsi_device *sdev, char *cmd, in ioctl_internal_command() argument
95 SCSI_LOG_IOCTL(1, sdev_printk(KERN_INFO, sdev, in ioctl_internal_command()
98 result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL, 0, in ioctl_internal_command()
101 SCSI_LOG_IOCTL(2, sdev_printk(KERN_INFO, sdev, in ioctl_internal_command()
109 sdev->lockable = 0; in ioctl_internal_command()
111 sdev_printk(KERN_INFO, sdev, in ioctl_internal_command()
118 if (sdev->removable) in ioctl_internal_command()
122 if (sdev->removable) { in ioctl_internal_command()
123 sdev->changed = 1; in ioctl_internal_command()
129 sdev_printk(KERN_INFO, sdev, in ioctl_internal_command()
132 scsi_print_sense_hdr(sdev, NULL, &sshdr); in ioctl_internal_command()
137 SCSI_LOG_IOCTL(2, sdev_printk(KERN_INFO, sdev, in ioctl_internal_command()
142 int scsi_set_medium_removal(struct scsi_device *sdev, char state) in scsi_set_medium_removal() argument
147 if (!sdev->removable || !sdev->lockable) in scsi_set_medium_removal()
157 ret = ioctl_internal_command(sdev, scsi_cmd, in scsi_set_medium_removal()
160 sdev->locked = (state == SCSI_REMOVAL_PREVENT); in scsi_set_medium_removal()
175 static int scsi_ioctl_get_pci(struct scsi_device *sdev, void __user *arg) in scsi_ioctl_get_pci() argument
177 struct device *dev = scsi_get_device(sdev->host); in scsi_ioctl_get_pci()
192 static int scsi_ioctl_common(struct scsi_device *sdev, int cmd, void __user *arg) in scsi_ioctl_common() argument
216 .dev_id = (sdev->id & 0xff) in scsi_ioctl_common()
217 + ((sdev->lun & 0xff) << 8) in scsi_ioctl_common()
218 + ((sdev->channel & 0xff) << 16) in scsi_ioctl_common()
219 + ((sdev->host->host_no & 0xff) << 24), in scsi_ioctl_common()
220 .host_unique_id = sdev->host->unique_id in scsi_ioctl_common()
227 return put_user(sdev->host->host_no, (int __user *)arg); in scsi_ioctl_common()
229 return ioctl_probe(sdev->host, arg); in scsi_ioctl_common()
233 return sg_scsi_ioctl(sdev->request_queue, NULL, 0, arg); in scsi_ioctl_common()
235 return scsi_set_medium_removal(sdev, SCSI_REMOVAL_PREVENT); in scsi_ioctl_common()
237 return scsi_set_medium_removal(sdev, SCSI_REMOVAL_ALLOW); in scsi_ioctl_common()
239 return scsi_test_unit_ready(sdev, IOCTL_NORMAL_TIMEOUT, in scsi_ioctl_common()
246 return ioctl_internal_command(sdev, scsi_cmd, in scsi_ioctl_common()
253 return ioctl_internal_command(sdev, scsi_cmd, in scsi_ioctl_common()
256 return scsi_ioctl_get_pci(sdev, arg); in scsi_ioctl_common()
258 return scsi_ioctl_reset(sdev, arg); in scsi_ioctl_common()
273 int scsi_ioctl(struct scsi_device *sdev, int cmd, void __user *arg) in scsi_ioctl() argument
275 int ret = scsi_ioctl_common(sdev, cmd, arg); in scsi_ioctl()
280 if (sdev->host->hostt->ioctl) in scsi_ioctl()
281 return sdev->host->hostt->ioctl(sdev, cmd, arg); in scsi_ioctl()
288 int scsi_compat_ioctl(struct scsi_device *sdev, int cmd, void __user *arg) in scsi_compat_ioctl() argument
290 int ret = scsi_ioctl_common(sdev, cmd, arg); in scsi_compat_ioctl()
295 if (sdev->host->hostt->compat_ioctl) in scsi_compat_ioctl()
296 return sdev->host->hostt->compat_ioctl(sdev, cmd, arg); in scsi_compat_ioctl()
306 int scsi_ioctl_block_when_processing_errors(struct scsi_device *sdev, int cmd, in scsi_ioctl_block_when_processing_errors() argument
310 if (scsi_host_in_recovery(sdev->host)) in scsi_ioctl_block_when_processing_errors()
313 if (!scsi_block_when_processing_errors(sdev)) in scsi_ioctl_block_when_processing_errors()