mpt fusion: RESEND: fix for previous patch taskmgmt in progess should be cleared before return
Subsystems (2)
PATCH 1/6 mpt fusion: RESEND: fix for previous patch taskmgmt in progess should be cleared before return
Small fix for previous Patch applied on 26/02/2009: subject line : "mpt fusion: config, Taskmgmt cmd, Internal cmd, Ioctl cmd changes".
Before returning from function make sure that taskmgmt in progress bit is cleared.
---
Signed-off-by Kashyap Desai <[email protected]>
---
drivers/message/fusion/mptsas.c +15 -3
@@ -560,11 +560,14 @@ mptsas_target_reset(MPT_ADAPTER *ioc, u8 channel, u8 id) mf =mpt_get_msg_frame (mptsasDeviceResetCtx, ioc);if (mf ==NULL ) {dfailprintk (ioc,printk (MYIOC_s_WARN_FMT -"%s, no msg frames @%d!!\n" , - ioc->name, __func__, __LINE__)); -return 0 ; +"%s, no msg frames @%d!!\n" , ioc->name, + __func__, __LINE__)); + goto out_fail; } +dtmprintk (ioc,printk (MYIOC_s_DEBUG_FMT"TaskMgmt request (mf=%p)\n" , + ioc->name, mf)); +/* Format the Request */ pScsiTm = (SCSITaskMgmt_t *) mf;
@@ -577,9 +580,18 @@ mptsas_target_reset(MPT_ADAPTER *ioc, u8 channel, u8 id)DBG_DUMP_TM_REQUEST_FRAME (ioc, (u32 *)mf); +dtmprintk (ioc,printk (MYIOC_s_DEBUG_FMT +"TaskMgmt type=%d (sas device delete) fw_channel = %d fw_id = %d)\n" , + ioc->name,MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET , channel, id)); +mpt_put_msg_frame_hi_pri (mptsasDeviceResetCtx, ioc, mf);return 1 ; + + out_fail: + +mpt_clear_taskmgmt_in_progress_flag (ioc); +return 0 ; }/**