/* Return value: 1 - work queued for execution 0 - work is already queued -EINVAL - work queue doesn't exist  */
int scsi_queue_work(struct Scsi_Host *shost, struct work_struct *work)
/* Return value: 1 - work queued for execution 0 - work is already queued -EINVAL - work queue doesn't exist  */
int scsi_queue_work(struct Scsi_Host *shost, struct work_struct *work)
{
	if (unlikely(!shost->work_q)) {
		printk(KERN_ERR
			"ERROR: Scsi host '%s' attempted to queue scsi-work, "
			"when no workqueue created.\n", shost->hostt->name);
		dump_stack();
		return -EINVAL;
	}
	return queue_work(shost->work_q, work);
}