diff options
Diffstat (limited to 'drivers/message/fusion/mptbase.c')
-rw-r--r-- | drivers/message/fusion/mptbase.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 9d4c7825a5f2..a896d948b79e 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c | |||
@@ -649,12 +649,10 @@ mptbase_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, MPT_FRAME_HDR *reply) | |||
649 | case MPI_FUNCTION_CONFIG: | 649 | case MPI_FUNCTION_CONFIG: |
650 | case MPI_FUNCTION_SAS_IO_UNIT_CONTROL: | 650 | case MPI_FUNCTION_SAS_IO_UNIT_CONTROL: |
651 | ioc->mptbase_cmds.status |= MPT_MGMT_STATUS_COMMAND_GOOD; | 651 | ioc->mptbase_cmds.status |= MPT_MGMT_STATUS_COMMAND_GOOD; |
652 | if (reply) { | 652 | ioc->mptbase_cmds.status |= MPT_MGMT_STATUS_RF_VALID; |
653 | ioc->mptbase_cmds.status |= MPT_MGMT_STATUS_RF_VALID; | 653 | memcpy(ioc->mptbase_cmds.reply, reply, |
654 | memcpy(ioc->mptbase_cmds.reply, reply, | 654 | min(MPT_DEFAULT_FRAME_SIZE, |
655 | min(MPT_DEFAULT_FRAME_SIZE, | 655 | 4 * reply->u.reply.MsgLength)); |
656 | 4 * reply->u.reply.MsgLength)); | ||
657 | } | ||
658 | if (ioc->mptbase_cmds.status & MPT_MGMT_STATUS_PENDING) { | 656 | if (ioc->mptbase_cmds.status & MPT_MGMT_STATUS_PENDING) { |
659 | ioc->mptbase_cmds.status &= ~MPT_MGMT_STATUS_PENDING; | 657 | ioc->mptbase_cmds.status &= ~MPT_MGMT_STATUS_PENDING; |
660 | complete(&ioc->mptbase_cmds.done); | 658 | complete(&ioc->mptbase_cmds.done); |