diff mbox series

ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable

Message ID 20200410131442.22842-1-hdegoede@redhat.com (mailing list archive)
State Superseded, archived
Headers show
Series ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable | expand

Commit Message

Hans de Goede April 10, 2020, 1:14 p.m. UTC
The case ACPI_RESOURCE_TYPE_EXTENDED_IRQ inside acpi_pci_link_set()
is correctly using resource->res.data.extended_irq.foo for most settings,
but for the sharable setting it sofar has accidentally been using
resource->res.data.irq.shareable instead of
resource->res.data.extended_irq.shareable.

Note that the old code happens to also work because the sharable field
offset is the same for both the acpi_resource_irq and
acpi_resource_extended_irq structs.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/acpi/pci_link.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Bjorn Helgaas April 10, 2020, 7:45 p.m. UTC | #1
On Fri, Apr 10, 2020 at 03:14:42PM +0200, Hans de Goede wrote:
> The case ACPI_RESOURCE_TYPE_EXTENDED_IRQ inside acpi_pci_link_set()
> is correctly using resource->res.data.extended_irq.foo for most settings,
> but for the sharable setting it sofar has accidentally been using
> resource->res.data.irq.shareable instead of
> resource->res.data.extended_irq.shareable.
> 
> Note that the old code happens to also work because the sharable field
> offset is the same for both the acpi_resource_irq and
> acpi_resource_extended_irq structs.

s/sharable/shareable/ several times above
s/sofar/so far/

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

> ---
>  drivers/acpi/pci_link.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
> index 00a6da2121be..ed3d2182cf2c 100644
> --- a/drivers/acpi/pci_link.c
> +++ b/drivers/acpi/pci_link.c
> @@ -322,10 +322,10 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
>  		resource->res.data.extended_irq.polarity =
>  		    link->irq.polarity;
>  		if (link->irq.triggering == ACPI_EDGE_SENSITIVE)
> -			resource->res.data.irq.shareable =
> +			resource->res.data.extended_irq.shareable =
>  			    ACPI_EXCLUSIVE;
>  		else
> -			resource->res.data.irq.shareable = ACPI_SHARED;
> +			resource->res.data.extended_irq.shareable = ACPI_SHARED;

Ouch, looks like that copy/paste error has been there since the
beginning of git.  Nice catch!

>  		resource->res.data.extended_irq.interrupt_count = 1;
>  		resource->res.data.extended_irq.interrupts[0] = irq;
>  		/* ignore resource_source, it's optional */
> -- 
> 2.26.0
>
Hans de Goede April 13, 2020, 1:08 p.m. UTC | #2
Hi,

On 4/10/20 9:45 PM, Bjorn Helgaas wrote:
> On Fri, Apr 10, 2020 at 03:14:42PM +0200, Hans de Goede wrote:
>> The case ACPI_RESOURCE_TYPE_EXTENDED_IRQ inside acpi_pci_link_set()
>> is correctly using resource->res.data.extended_irq.foo for most settings,
>> but for the sharable setting it sofar has accidentally been using
>> resource->res.data.irq.shareable instead of
>> resource->res.data.extended_irq.shareable.
>>
>> Note that the old code happens to also work because the sharable field
>> offset is the same for both the acpi_resource_irq and
>> acpi_resource_extended_irq structs.
> 
> s/sharable/shareable/ several times above
> s/sofar/so far/
> 
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Acked-by: Bjorn Helgaas <bhelgaas@google.com>

Thanks, I'll send out a v2 with the spelling issues in the commit-msg fixed.

Regards,

Hans



> 
>> ---
>>   drivers/acpi/pci_link.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
>> index 00a6da2121be..ed3d2182cf2c 100644
>> --- a/drivers/acpi/pci_link.c
>> +++ b/drivers/acpi/pci_link.c
>> @@ -322,10 +322,10 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
>>   		resource->res.data.extended_irq.polarity =
>>   		    link->irq.polarity;
>>   		if (link->irq.triggering == ACPI_EDGE_SENSITIVE)
>> -			resource->res.data.irq.shareable =
>> +			resource->res.data.extended_irq.shareable =
>>   			    ACPI_EXCLUSIVE;
>>   		else
>> -			resource->res.data.irq.shareable = ACPI_SHARED;
>> +			resource->res.data.extended_irq.shareable = ACPI_SHARED;
> 
> Ouch, looks like that copy/paste error has been there since the
> beginning of git.  Nice catch!
> 
>>   		resource->res.data.extended_irq.interrupt_count = 1;
>>   		resource->res.data.extended_irq.interrupts[0] = irq;
>>   		/* ignore resource_source, it's optional */
>> -- 
>> 2.26.0
>>
>
diff mbox series

Patch

diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 00a6da2121be..ed3d2182cf2c 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -322,10 +322,10 @@  static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
 		resource->res.data.extended_irq.polarity =
 		    link->irq.polarity;
 		if (link->irq.triggering == ACPI_EDGE_SENSITIVE)
-			resource->res.data.irq.shareable =
+			resource->res.data.extended_irq.shareable =
 			    ACPI_EXCLUSIVE;
 		else
-			resource->res.data.irq.shareable = ACPI_SHARED;
+			resource->res.data.extended_irq.shareable = ACPI_SHARED;
 		resource->res.data.extended_irq.interrupt_count = 1;
 		resource->res.data.extended_irq.interrupts[0] = irq;
 		/* ignore resource_source, it's optional */