Re: [PATCH 1/6] scsi: libsas: Add sas_task_find_rq()

From: Johannes Thumshirn
Date: Wed Sep 28 2022 - 10:29:09 EST


On 28.09.22 15:56, John Garry wrote:
> On 28/09/2022 14:17, Johannes Thumshirn wrote:
>>> +static inline struct request *sas_task_find_rq(struct sas_task *task)
>>> +{
>>> + struct scsi_cmnd *scmd;
>>> +
>>> + if (!task || !task->uldd_task)
>>> + return NULL;
>> Is anyone actually calling sas_task_find_rq with a NULL task?
>
> Yeah, unfortunately. An example - the only one I think - is in the
> pm8001 driver: pm8001_ccb_alloc() function which takes a task pointer
> which may be NULL, and this function calls sas_task_find_rq()
>
>> That doesn't make a lot of sense from an API POV for me, having
>> the only argument allowed to be NULL (and not being a *free()
>> kind of function).
>
> I suppose that I could change to only call sas_task_find_rq() for
> non-NULL sas_task pointers (and remove the task check).

If this is done in only a few drivers I'd go that route TBH.

AFAICS hishi sas doesn't call sas_task_find_rq with a NULL task,
so it's only pm8001