diff options
author | Jitendra Bhivare <jitendra.bhivare@avagotech.com> | 2016-01-20 11:40:45 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-02-24 05:27:02 +0300 |
commit | 6ac999efeeff98f203eda8cf46d5016e99f58b0c (patch) | |
tree | 01af7f763c301355719201b7b531072c78bc5415 /drivers/tc | |
parent | 420eb6d7efc4591ef1968106cdaa980ea06fe00e (diff) | |
download | linux-6ac999efeeff98f203eda8cf46d5016e99f58b0c.tar.xz |
be2iscsi: Fix soft lockup in mgmt_get_all_if_id path using bmbx
We are taking mbox_lock spinlock which disables pre-emption before we
poll for mbox completion. Waiting there with spinlock held in excess of
20s will cause soft lockup.
Actual fix is to change mbox_lock to mutex. The changes are done in
phases. This is the first part.
1. Changed mgmt_get_all_if_id to use MCC where after posting lock is
released.
2. Changed be_mbox_db_ready_wait to busy wait for 12s max and removed
wait_event_timeout. Added error handling code for IO reads.
OPCODE_COMMON_QUERY_FIRMWARE_CONFIG mbox command takes 8s time when
unreachable boot targets configured.
Signed-off-by: Jitendra Bhivare <jitendra.bhivare@avagotech.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/tc')
0 files changed, 0 insertions, 0 deletions