Re: [PATCH V10 2/8] ACPI: Add new IORT functions to support MSI domain handling
From: Rafael J. Wysocki
Date: Wed Sep 07 2016 - 07:32:46 EST
On Wed, Sep 7, 2016 at 12:35 PM, Tomasz Nowicki <tn@xxxxxxxxxxxx> wrote:
> Rafael,
>
> There are two fixes for iort.c:
> 1. patch 1 - convert switch to if-else in iort_match_node_callback()
> 2. patch 2 - remove static local variable for iort_get_device_domain()
>
> Do you want me to repost these patches to get your ACK, or you want new V11?
Please repost the patches with changes (mark the new versions by
adding "[Update]" to the subject line or similar).
Thanks,
Rafael
> On 06.09.2016 12:27, Tomasz Nowicki wrote:
>>
>> On 06.09.2016 12:20, Thomas Gleixner wrote:
>>>
>>> On Tue, 6 Sep 2016, Tomasz Nowicki wrote:
>>>>
>>>> +/**
>>>> + * iort_get_device_domain() - Find MSI domain related to a device
>>>> + * @dev: The device.
>>>> + * @req_id: Requester ID for the device.
>>>> + *
>>>> + * Returns: the MSI domain for this device, NULL otherwise
>>>> + */
>>>> +struct irq_domain *iort_get_device_domain(struct device *dev, u32
>>>> req_id)
>>>> +{
>>>> + static struct fwnode_handle *handle;
>>>
>>>
>>> static ??????
>>>
>>>> + int its_id;
>>>> +
>>>> + if (iort_dev_find_its_id(dev, req_id, 0, &its_id))
>>>> + return NULL;
>>>> +
>>>> + handle = iort_find_domain_token(its_id);
>>>
>>>
>>> You reevaluate that on every call.
>>>
>>
>> Obviously it is the bug. Thanks for spotting this.
>>
>> Tomasz