Lines Matching refs:base_cmds
777 if (ioc->base_cmds.status == MPT3_CMD_NOT_USED) in mpt3sas_base_done()
780 ioc->base_cmds.status |= MPT3_CMD_COMPLETE; in mpt3sas_base_done()
782 ioc->base_cmds.status |= MPT3_CMD_REPLY_VALID; in mpt3sas_base_done()
783 memcpy(ioc->base_cmds.reply, mpi_reply, mpi_reply->MsgLength*4); in mpt3sas_base_done()
785 ioc->base_cmds.status &= ~MPT3_CMD_PENDING; in mpt3sas_base_done()
787 complete(&ioc->base_cmds.done); in mpt3sas_base_done()
3953 mutex_lock(&ioc->base_cmds.mutex); in mpt3sas_base_sas_iounit_control()
3955 if (ioc->base_cmds.status != MPT3_CMD_NOT_USED) { in mpt3sas_base_sas_iounit_control()
3988 ioc->base_cmds.status = MPT3_CMD_PENDING; in mpt3sas_base_sas_iounit_control()
3990 ioc->base_cmds.smid = smid; in mpt3sas_base_sas_iounit_control()
3995 init_completion(&ioc->base_cmds.done); in mpt3sas_base_sas_iounit_control()
3997 timeleft = wait_for_completion_timeout(&ioc->base_cmds.done, in mpt3sas_base_sas_iounit_control()
4003 if (!(ioc->base_cmds.status & MPT3_CMD_COMPLETE)) { in mpt3sas_base_sas_iounit_control()
4008 if (!(ioc->base_cmds.status & MPT3_CMD_RESET)) in mpt3sas_base_sas_iounit_control()
4012 if (ioc->base_cmds.status & MPT3_CMD_REPLY_VALID) in mpt3sas_base_sas_iounit_control()
4013 memcpy(mpi_reply, ioc->base_cmds.reply, in mpt3sas_base_sas_iounit_control()
4017 ioc->base_cmds.status = MPT3_CMD_NOT_USED; in mpt3sas_base_sas_iounit_control()
4024 ioc->base_cmds.status = MPT3_CMD_NOT_USED; in mpt3sas_base_sas_iounit_control()
4027 mutex_unlock(&ioc->base_cmds.mutex); in mpt3sas_base_sas_iounit_control()
4057 mutex_lock(&ioc->base_cmds.mutex); in mpt3sas_base_scsi_enclosure_processor()
4059 if (ioc->base_cmds.status != MPT3_CMD_NOT_USED) { in mpt3sas_base_scsi_enclosure_processor()
4093 ioc->base_cmds.status = MPT3_CMD_PENDING; in mpt3sas_base_scsi_enclosure_processor()
4095 ioc->base_cmds.smid = smid; in mpt3sas_base_scsi_enclosure_processor()
4097 init_completion(&ioc->base_cmds.done); in mpt3sas_base_scsi_enclosure_processor()
4099 timeleft = wait_for_completion_timeout(&ioc->base_cmds.done, in mpt3sas_base_scsi_enclosure_processor()
4101 if (!(ioc->base_cmds.status & MPT3_CMD_COMPLETE)) { in mpt3sas_base_scsi_enclosure_processor()
4106 if (!(ioc->base_cmds.status & MPT3_CMD_RESET)) in mpt3sas_base_scsi_enclosure_processor()
4110 if (ioc->base_cmds.status & MPT3_CMD_REPLY_VALID) in mpt3sas_base_scsi_enclosure_processor()
4111 memcpy(mpi_reply, ioc->base_cmds.reply, in mpt3sas_base_scsi_enclosure_processor()
4115 ioc->base_cmds.status = MPT3_CMD_NOT_USED; in mpt3sas_base_scsi_enclosure_processor()
4122 ioc->base_cmds.status = MPT3_CMD_NOT_USED; in mpt3sas_base_scsi_enclosure_processor()
4125 mutex_unlock(&ioc->base_cmds.mutex); in mpt3sas_base_scsi_enclosure_processor()
4679 if (ioc->base_cmds.status & MPT3_CMD_PENDING) { in _base_event_notification()
4691 ioc->base_cmds.status = MPT3_CMD_PENDING; in _base_event_notification()
4693 ioc->base_cmds.smid = smid; in _base_event_notification()
4701 init_completion(&ioc->base_cmds.done); in _base_event_notification()
4703 timeleft = wait_for_completion_timeout(&ioc->base_cmds.done, 30*HZ); in _base_event_notification()
4704 if (!(ioc->base_cmds.status & MPT3_CMD_COMPLETE)) { in _base_event_notification()
4709 if (ioc->base_cmds.status & MPT3_CMD_RESET) in _base_event_notification()
4716 ioc->base_cmds.status = MPT3_CMD_NOT_USED; in _base_event_notification()
4752 mutex_lock(&ioc->base_cmds.mutex); in mpt3sas_base_validate_event_type()
4754 mutex_unlock(&ioc->base_cmds.mutex); in mpt3sas_base_validate_event_type()
5292 mutex_init(&ioc->base_cmds.mutex); in mpt3sas_base_attach()
5293 ioc->base_cmds.reply = kzalloc(ioc->reply_sz, GFP_KERNEL); in mpt3sas_base_attach()
5294 ioc->base_cmds.status = MPT3_CMD_NOT_USED; in mpt3sas_base_attach()
5326 if (!ioc->base_cmds.reply || !ioc->transport_cmds.reply || in mpt3sas_base_attach()
5373 kfree(ioc->base_cmds.reply); in mpt3sas_base_attach()
5379 ioc->base_cmds.reply = NULL; in mpt3sas_base_attach()
5413 kfree(ioc->base_cmds.reply); in mpt3sas_base_detach()
5451 if (ioc->base_cmds.status & MPT3_CMD_PENDING) { in _base_reset_handler()
5452 ioc->base_cmds.status |= MPT3_CMD_RESET; in _base_reset_handler()
5453 mpt3sas_base_free_smid(ioc, ioc->base_cmds.smid); in _base_reset_handler()
5454 complete(&ioc->base_cmds.done); in _base_reset_handler()