On 2/15/22 20:09, John Garry wrote: > On 14/02/2022 02:17, Damien Le Moal wrote: >> @@ -1685,19 +1683,13 @@ void pm8001_work_fn(struct work_struct *work) >> struct task_status_struct *ts; >> struct sas_task *task; >> int i; >> - u32 tag, device_id; >> + u32 device_id; >> >> for (i = 0; ccb = NULL, i < PM8001_MAX_CCB; i++) { >> ccb = &pm8001_ha->ccb_info[i]; >> task = ccb->task; >> ts = &task->task_status; >> - tag = ccb->ccb_tag; >> - /* check if tag is NULL */ >> - if (!tag) { >> - pm8001_dbg(pm8001_ha, FAIL, >> - "tag Null\n"); >> - continue; >> - } >> + > > This looks so dodgy that maybe it is intentional. I think experts on > this HW/driver need to check this further. Well, the tag that was allocated for this task may have been the perfectly valid tag 0, so this really looks completely bogus to me, like all other tag == 0 checks. Will update the distribution list for v4 to add Jack Wang <jinpu.wang@xxxxxxxxxxxxxxx> who is missing. > > Thanks, > John -- Damien Le Moal Western Digital Research