/* This function is invoked by the Error Attention polling timer when the timer times out. It will check the SLI Error Attention register for possible attention events. If so, it will post an Error Attention event and wake up worker thread to process it. Otherwise, it will set up the Error Attention polling timer for the next poll.  */
void lpfc_poll_eratt(unsigned long ptr)
/* This function is invoked by the Error Attention polling timer when the timer times out. It will check the SLI Error Attention register for possible attention events. If so, it will post an Error Attention event and wake up worker thread to process it. Otherwise, it will set up the Error Attention polling timer for the next poll.  */
void lpfc_poll_eratt(unsigned long ptr)
{
	struct lpfc_hba *phba;
	uint32_t eratt = 0;
	phba = (struct lpfc_hba *)ptr;
	eratt = lpfc_sli_check_eratt(phba);
	if (eratt)
		lpfc_worker_wake_up(phba);
	else
		mod_timer(&phba->eratt_poll, jiffies +
					HZ * LPFC_ERATT_POLL_INTERVAL);
	return;
}