mptfusion: fix msgContext in mptctl_hp_hostinfo
Subsystems (2)
PATCH 1/1 mptfusion: fix msgContext in mptctl_hp_hostinfo
This is a repost - the original mail was ack-ed by Kashyap - http://www.spinics.net/lists/linux-scsi/msg50872.html
Hi,
without this patch the istwiRWRequest->MsgContext is always set to zero,
this patch saves the MsgContext in a msgcontext variable and then restores
the value.
Thanks to <mailto:[email protected]>David Jeffery who found the issue and did the analysis.
Signed-off-by Tomas Henzl <[email protected]>
Acked-by Kashyap Desai <[email protected]>
drivers/message/fusion/mptctl.c +3 -3
@@ -2423,9 +2423,9 @@ mptctl_hp_hostinfo(unsigned long arg, unsigned int data_size)int rc, cim_rev;ToolboxIstwiReadWriteRequest_t *IstwiRWRequest;MPT_FRAME_HDR *mf =NULL ; -MPIHeader_t *mpi_hdr;unsigned long timeleft;int retval; +u32 msgcontext;/* Reset long to int. Should affect IA64 and SPARC only */
@@ -2572,11 +2572,11 @@ mptctl_hp_hostinfo(unsigned long arg, unsigned int data_size) } IstwiRWRequest = (ToolboxIstwiReadWriteRequest_t *)mf; - mpi_hdr = (MPIHeader_t *) mf; + msgcontext = IstwiRWRequest->MsgContext;memset (IstwiRWRequest,0 ,sizeof (ToolboxIstwiReadWriteRequest_t)); + IstwiRWRequest->MsgContext = msgcontext; IstwiRWRequest->Function =MPI_FUNCTION_TOOLBOX ; IstwiRWRequest->Tool =MPI_TOOLBOX_ISTWI_READ_WRITE_TOOL ; - IstwiRWRequest->MsgContext = mpi_hdr->MsgContext; IstwiRWRequest->Flags =MPI_TB_ISTWI_FLAGS_READ ; IstwiRWRequest->NumAddressBytes =0x01 ; IstwiRWRequest->DataLength =cpu_to_le16 (0x04 );
--