X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Fscsi%2Flibsas.h;h=2e6bdc4e7a0ae1deb116b7d9e96e8e29bbf05b99;hb=d7a54e30d324b6f3b29a6cf2ff24c95b135013f5;hp=ca393929c10b1d2fe37ac649ecbaa4019e28db94;hpb=6b0efb8516a5298e12033df61f9e0c376a306adb;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index ca39392..2e6bdc4 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h @@ -314,8 +314,7 @@ struct scsi_core { struct list_head task_queue; int task_queue_size; - struct semaphore queue_thread_sema; - int queue_thread_kill; + struct task_struct *queue_thread; }; struct sas_ha_event { @@ -567,10 +566,9 @@ struct sas_task { static inline struct sas_task *sas_alloc_task(gfp_t flags) { extern struct kmem_cache *sas_task_cache; - struct sas_task *task = kmem_cache_alloc(sas_task_cache, flags); + struct sas_task *task = kmem_cache_zalloc(sas_task_cache, flags); if (task) { - memset(task, 0, sizeof(*task)); INIT_LIST_HEAD(&task->list); spin_lock_init(&task->task_state_lock); task->task_state_flags = SAS_TASK_STATE_PENDING; @@ -660,5 +658,7 @@ void sas_init_dev(struct domain_device *); void sas_task_abort(struct sas_task *); int __sas_task_abort(struct sas_task *); +int sas_eh_device_reset_handler(struct scsi_cmnd *cmd); +int sas_eh_bus_reset_handler(struct scsi_cmnd *cmd); #endif /* _SASLIB_H_ */