lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <452348D7.7020205@garzik.org>
Date:	Wed, 04 Oct 2006 01:38:31 -0400
From:	Jeff Garzik <jeff@...zik.org>
To:	Frederik Deweerdt <deweerdt@...e.fr>
CC:	linux-kernel@...r.kernel.org, arjan@...radead.org, matthew@....cx,
	alan@...rguk.ukuu.org.uk, akpm@...l.org, rdunlap@...otime.net,
	gregkh@...e.de
Subject: Re: [RFC PATCH] move tg3 to pci_request_irq

Frederik Deweerdt wrote:
> On Tue, Oct 03, 2006 at 06:37:43PM -0400, Jeff Garzik wrote:
>> Frederik Deweerdt wrote:
>>> Hi,
>>> This proof-of-concept patch converts the tg3 driver to use the
>>> pci_request_irq() function.
>>> Please note that I'm not submitting the driver changes, they're there
>>> only for illustration purposes. I'll CC the appropriate maintainers
>>> when/if an API is agreed upon.
>>> Regards,
>>> Frederik diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
>>> index c25ba27..23660c6 100644
>>> Index: 2.6.18-mm3/drivers/net/tg3.c
>>> ===================================================================
>>> --- 2.6.18-mm3.orig/drivers/net/tg3.c
>>> +++ 2.6.18-mm3/drivers/net/tg3.c
>>> @@ -6853,7 +6853,7 @@ static int tg3_request_irq(struct tg3 *t
>>> 			fn = tg3_interrupt_tagged;
>>> 		flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
>>> 	}
>>> -	return (request_irq(tp->pdev->irq, fn, flags, dev->name, dev));
>>> +	return pci_request_irq(tp->pdev, fn, flags, dev->name);
>>> }
>>>  static int tg3_test_interrupt(struct tg3 *tp)
>>> @@ -6866,10 +6866,10 @@ static int tg3_test_interrupt(struct tg3
>>>  	tg3_disable_ints(tp);
>>> -	free_irq(tp->pdev->irq, dev);
>>> +	pci_free_irq(tp->pdev);
>>> -	err = request_irq(tp->pdev->irq, tg3_test_isr,
>>> -			  IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name, dev);
>>> +	err = pci_request_irq(tp->pdev, tg3_test_isr,
>>> +			      IRQF_SHARED | IRQF_SAMPLE_RANDOM, dev->name);
>> IRQF_SHARED flags are still left hanging around...
> I did it on purpose (see parent post): some parts of tg3 for example
> don't pass IRQF_SHARED, so I though it wasn't a good idea to enforce
> IRQF_SHARED in all cases. Did I miss something?

When it's hardcoded into the definition of pci_request_irq(), then 
setting the flag in the above code is logically superfluous.

As for why the flag may be missing -- PCI MSI interrupts are never 
shared.  However, it won't _hurt_ anything to set the flag needlessly, 
AFAIK.

	Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ