scsi: be2iscsi: Fix to add timer for UE detection
UE detection in health check is done in a work scheduled in global wq. UE caused due to transient parity errors are recoverable and reported within 1s. If this check for TPE gets delayed, PF0 might initiate soft-reset and then status of UE recoverable is lost. Handle UE detection in timer routine. Move out EQ delay update work from health check. Make the IOCTL for EQ delay update non-blocking as the completion status is ignored. Signed-off-by: Jitendra Bhivare <jitendra.bhivare@broadcom.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:

committed by
Martin K. Petersen

parent
50a4b824be
commit
10bcd47dff
@@ -414,7 +414,12 @@ struct beiscsi_hba {
|
||||
(1 << BEISCSI_HBA_IN_UE))
|
||||
|
||||
u8 optic_state;
|
||||
struct delayed_work beiscsi_hw_check_task;
|
||||
struct delayed_work eqd_update;
|
||||
/* update EQ delay timer every 1000ms */
|
||||
#define BEISCSI_EQD_UPDATE_INTERVAL 1000
|
||||
struct timer_list hw_check;
|
||||
/* check for UE every 1000ms */
|
||||
#define BEISCSI_UE_DETECT_INTERVAL 1000
|
||||
|
||||
bool mac_addr_set;
|
||||
u8 mac_address[ETH_ALEN];
|
||||
|
Reference in New Issue
Block a user