Print this page
7813 mpt_sas does not like concurrent HBA resets
*** 935,944 ****
--- 935,949 ----
* Is HBA processing a diag reset?
*/
uint8_t m_in_reset;
/*
+ * Task management protection
+ */
+ kmutex_t m_taskmgmt_mutex;
+
+ /*
* per instance cmd data structures for task management cmds
*/
m_event_struct_t m_event_task_mgmt; /* must be last */
/* ... scsi_pkt_size */
} mptsas_t;
*** 1330,1340 ****
uint16_t dev_handle, int lun, uint8_t *reply, uint32_t reply_size,
int mode);
int mptsas_send_event_ack(mptsas_t *mpt, uint32_t event, uint32_t eventcntx);
void mptsas_send_pending_event_ack(mptsas_t *mpt);
void mptsas_set_throttle(struct mptsas *mpt, mptsas_target_t *ptgt, int what);
! int mptsas_restart_ioc(mptsas_t *mpt);
void mptsas_update_driver_data(struct mptsas *mpt);
uint64_t mptsas_get_sata_guid(mptsas_t *mpt, mptsas_target_t *ptgt, int lun);
/*
* init functions
--- 1335,1345 ----
uint16_t dev_handle, int lun, uint8_t *reply, uint32_t reply_size,
int mode);
int mptsas_send_event_ack(mptsas_t *mpt, uint32_t event, uint32_t eventcntx);
void mptsas_send_pending_event_ack(mptsas_t *mpt);
void mptsas_set_throttle(struct mptsas *mpt, mptsas_target_t *ptgt, int what);
! int mptsas_reset_handler(mptsas_t *mpt);
void mptsas_update_driver_data(struct mptsas *mpt);
uint64_t mptsas_get_sata_guid(mptsas_t *mpt, mptsas_target_t *ptgt, int lun);
/*
* init functions