Re: [PATCH] fix for system lockups in 2.6.18-rcX caused by bcm43xx

2006-10-06 Thread Jarek Poplawski
On Fri, Oct 06, 2006 at 07:57:32AM +0200, Jarek Poplawski wrote: On Thu, Oct 05, 2006 at 01:52:19PM -0700, Randy Dunlap wrote: On Thu, 14 Sep 2006 10:29:30 +0200 Jarek Poplawski wrote: On Thu, Sep 14, 2006 at 10:25:32AM +0200, Jarek Poplawski wrote: ... Mozilla Firefox is breaking all

Re: [patch 3/6] 2.6.18: sb1250-mac: Phylib IRQ handling fixes

2006-10-06 Thread Andrew Morton
On Tue, 3 Oct 2006 16:18:35 +0100 (BST) Maciej W. Rozycki [EMAIL PROTECTED] wrote: 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is

Re: [PATCH] fix for system lockups in 2.6.18-rcX caused by bcm43xx

2006-10-06 Thread Jarek Poplawski
On Fri, Oct 06, 2006 at 07:57:32AM +0200, Jarek Poplawski wrote: On Thu, Oct 05, 2006 at 01:52:19PM -0700, Randy Dunlap wrote: ... see http://mbligh.org/linuxdocs/Email/Clients/Thunderbird ... dangerous feature of Thunderbird - you never could be sure how a message will look because it is

Re: Latest fixes to bcm43xx-d80211 now available as patch to 2.6.18

2006-10-06 Thread Johannes Berg
On Thu, 2006-10-05 at 18:33 -0500, Larry Finger wrote: The patch file contains Michael Buesch's changes of 05-Oct-2006. This version can use either V3 or V4 firmware. It has been compiled and tested on my system. Note that there seem to be some problems with v4 firmware, I had the machine

[PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Joerg Roedel
this is the submit of the patch discussed yesterday to compile the sit driver as a seperate module. changes to yesterday: - default select changed to y in Kconfig - added ifdefs to net/ipv6/addrconf.c (this part is big, to keep the patches around 100 lines the addrconf.c changes are posted

[PATCH 02/02] net/ipv6: seperate sit driver to extra module (addrconf.c changes)

2006-10-06 Thread Joerg Roedel
This patch contains the changes to net/ipv6/addrconf.c to remove sit specific code if the sit driver is not selected. Signed-off-by: Joerg Roedel [EMAIL PROTECTED] diff -upr -X linux-2.6.18/Documentation/dontdiff linux-2.6.18-vanilla/net/ipv6/addrconf.c linux-2.6.18/net/ipv6/addrconf.c ---

Re: [RFC] cfg80211 and nl80211

2006-10-06 Thread Johannes Berg
Let me try to summarise this... probably wrong :) 1.5 KB sounds like a small scan result set to me.. I'm hitting 100+ BSSes at work (well, not really your normal environment ;-), and 50 at home.. These go way beyond 1.5 KB; closer to 32 KB at times, I'd guess. Ok this is easy, we need huge

Re: [RFC 1/3] cfg80211/nl80211 core

2006-10-06 Thread Johannes Berg
On Thu, 2006-09-14 at 12:49 +0200, Johannes Berg wrote: +struct cfg80211_registered_driver * +cfg80211_get_drv_from_ifindex(int ifindex) +{ + struct cfg80211_registered_driver *drv; + struct net_device *dev; + + mutex_lock(cfg80211_drv_mutex); + dev =

Re: [patch 3/6] 2.6.18: sb1250-mac: Phylib IRQ handling fixes

2006-10-06 Thread Maciej W. Rozycki
On Thu, 5 Oct 2006, Andrew Morton wrote: 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is especially important as interrupts may keep

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Samuel Tardieu
Joerg == Joerg Roedel [EMAIL PROTECTED] writes: Joerg this is the submit of the patch discussed yesterday to compile Joerg the sit driver as a seperate module. Your patch looks ok to me, but given that many people won't need sit, why is it enabled by default? Omitting it would save 10k of

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Peter Bieringer
Samuel Tardieu schrieb: Joerg == Joerg Roedel [EMAIL PROTECTED] writes: Joerg this is the submit of the patch discussed yesterday to compile Joerg the sit driver as a seperate module. Your patch looks ok to me, but given that many people won't need sit, why is it enabled by default?

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Joerg Roedel
On Fri, Oct 06, 2006 at 01:38:24PM +0200, Samuel Tardieu wrote: Joerg == Joerg Roedel [EMAIL PROTECTED] writes: Joerg this is the submit of the patch discussed yesterday to compile Joerg the sit driver as a seperate module. Your patch looks ok to me, but given that many people won't need

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Samuel Tardieu
Joerg == Joerg Roedel [EMAIL PROTECTED] writes: Joerg It is enabled per default because the users get this per Joerg default when using the current IPv6 module. James Morris Joerg mentioned this issue yesterday. I think setting the default to Joerg N would be more consistent, but the Y is

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread YOSHIFUJI Hideaki / 吉藤英明
In article [EMAIL PROTECTED] (at Fri, 6 Oct 2006 11:34:02 +0200), Joerg Roedel [EMAIL PROTECTED] says: this is the submit of the patch discussed yesterday to compile the sit driver as a seperate module. changes to yesterday: - default select changed to y in Kconfig - added ifdefs to

Re: [PATCH 02/02] net/ipv6: seperate sit driver to extra module (addrconf.c changes)

2006-10-06 Thread YOSHIFUJI Hideaki / 吉藤英明
In article [EMAIL PROTECTED] (at Fri, 6 Oct 2006 11:39:27 +0200), Joerg Roedel [EMAIL PROTECTED] says: This patch contains the changes to net/ipv6/addrconf.c to remove sit specific code if the sit driver is not selected. Signed-off-by: Joerg Roedel [EMAIL PROTECTED] Signed-off-by:

cfg80211 take 7

2006-10-06 Thread Johannes Berg
Hah, take 6 was eaten by netdev (even the announcement) but it did reach some people (and before those who did get it wonder: I resent to netdev, the original mail was accidentally not addressed to netdev, so it's not that I simply didn't send it). anyway, it's getting large, so... straight from

Re: cfg80211 take 7

2006-10-06 Thread Johannes Berg
Maybe this time it'll take the announcement too? --- I have * addressed Dan's comments about naming a few things and also fixed the problems he pointed out * moved wext from net/core/wireless.c to net/wireless/wext-old.c * added compat hunking for WE to cfg80211, finally completely

Re: [patch 3/6] 2.6.18: sb1250-mac: Phylib IRQ handling fixes

2006-10-06 Thread Andrew Morton
On Fri, 6 Oct 2006 12:26:22 +0100 (BST) Maciej W. Rozycki [EMAIL PROTECTED] wrote: On Thu, 5 Oct 2006, Andrew Morton wrote: 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's

[GIT] SELinux/IPsec: bugfix pull request

2006-10-06 Thread James Morris
Hi Dave, please pull the following bugfix patches, for the IPsec/SELinux and related labeled network code. The following changes since commit e77119c769b71c3f10b35d66988a3e279d30388c: James Morris: Merge ../../linux-2.6 into linus are found in the git repository at:

Kernel header changes break glibc build

2006-10-06 Thread Joseph S. Myers
The kernel headers installed by Linux 2.6.19-rc1 make headers_install do not work for building glibc, because glibc expects linux/rtnetlink.h to provide various definitions, some of which have been moved to linux/if_addr.h and some of which have been removed altogether. This kernel patch allows

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Joerg Roedel
On Fri, Oct 06, 2006 at 09:59:35PM +0900, YOSHIFUJI Hideaki / ?$B5HF#1QL@ wrote: + into IPv4 packets. This is usefull if you want to connect two IPv6 Argh. Bad typo. I appended the fixed patch Signed-off-by: Joerg Roedel [EMAIL PROTECTED] diff -upr -X

Re: 2.6.18-mm2 boot failure on x86-64

2006-10-06 Thread Vivek Goyal
On Fri, Oct 06, 2006 at 03:33:12PM +0100, Mel Gorman wrote: Linux version 2.6.18-git22 ([EMAIL PROTECTED]) (gcc version 4.1.0 (SUSE Linux)) #2 SMP Thu Oct 5 19:05:36 PDT 2006 Command line: root=/dev/sda1 vga=791 ip=9.47.67.239:9.47.67.50:9.47.67.1:255.255.255.0 resume=/dev/sdb1 showopts

Re: 2.6.18-mm2 boot failure on x86-64

2006-10-06 Thread Vivek Goyal
On Fri, Oct 06, 2006 at 06:11:05PM +0100, Mel Gorman wrote: On (06/10/06 11:36), Vivek Goyal didst pronounce: On Fri, Oct 06, 2006 at 03:33:12PM +0100, Mel Gorman wrote: Linux version 2.6.18-git22 ([EMAIL PROTECTED]) (gcc version 4.1.0 (SUSE Linux)) #2 SMP Thu Oct 5 19:05:36 PDT 2006

Re: 2.6.18-mm2 boot failure on x86-64

2006-10-06 Thread Vivek Goyal
On Fri, Oct 06, 2006 at 06:11:05PM +0100, Mel Gorman wrote: On (06/10/06 11:36), Vivek Goyal didst pronounce: On Fri, Oct 06, 2006 at 03:33:12PM +0100, Mel Gorman wrote: Linux version 2.6.18-git22 ([EMAIL PROTECTED]) (gcc version 4.1.0 (SUSE Linux)) #2 SMP Thu Oct 5 19:05:36 PDT 2006

Re: 2.6.18-mm2 boot failure on x86-64

2006-10-06 Thread Steve Fox
On Fri, 2006-10-06 at 18:11 +0100, Mel Gorman wrote: On (06/10/06 11:36), Vivek Goyal didst pronounce: Where is bss placed in physical memory? I guess bss_start and bss_stop from System.map will tell us. That will confirm that above memset step is stomping over bss. Then we have to just

[PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Matthew Wilcox
From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20) WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .exit.text:de_remove_one from

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20) WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Matthew Wilcox
On Fri, Oct 06, 2006 at 02:39:41PM -0400, Jeff Garzik wrote: I'm a bit blind, so help me out here... what precisely is mismatched? AFAICS everything is properly marked __init or __exit. Wasn't my patch, but the markings are now consistent with tulip_core at least. - To unsubscribe from this

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: On Fri, Oct 06, 2006 at 02:39:41PM -0400, Jeff Garzik wrote: I'm a bit blind, so help me out here... what precisely is mismatched? AFAICS everything is properly marked __init or __exit. Wasn't my patch, but the markings are now consistent with tulip_core at least.

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Stephen Hemminger
On Fri, 06 Oct 2006 12:12:34 -0600 Matthew Wilcox [EMAIL PROTECTED] wrote: From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20) WARNING:

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Jeff Garzik
Stephen Hemminger wrote: On Fri, 06 Oct 2006 12:12:34 -0600 Matthew Wilcox [EMAIL PROTECTED] wrote: From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20)

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Matthew Wilcox
On Fri, Oct 06, 2006 at 03:18:33PM -0400, Jeff Garzik wrote: Stephen Hemminger wrote: On Fri, 06 Oct 2006 12:12:34 -0600 Matthew Wilcox [EMAIL PROTECTED] wrote: From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: On Fri, Oct 06, 2006 at 03:18:33PM -0400, Jeff Garzik wrote: Stephen Hemminger wrote: On Fri, 06 Oct 2006 12:12:34 -0600 Matthew Wilcox [EMAIL PROTECTED] wrote: From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Matthew Wilcox
On Fri, Oct 06, 2006 at 03:44:30PM -0400, Jeff Garzik wrote: Matthew Wilcox wrote: On Fri, Oct 06, 2006 at 03:18:33PM -0400, Jeff Garzik wrote: This device will never ever meet a platform where it can be hotplugged. According to a FreeBSD list from 1995, you could get these chips on a PCI

Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: On Fri, Oct 06, 2006 at 03:44:30PM -0400, Jeff Garzik wrote: Matthew Wilcox wrote: On Fri, Oct 06, 2006 at 03:18:33PM -0400, Jeff Garzik wrote: This device will never ever meet a platform where it can be hotplugged. According to a FreeBSD list from 1995, you could get

2.6.19-rc1 regression: airo suspend fails

2006-10-06 Thread Adrian Bunk
On Thu, Oct 05, 2006 at 09:31:16PM -0700, Alex Romosan wrote: Linus Torvalds [EMAIL PROTECTED] writes: so please give it a good testing, and let's see if there are any regressions. it breaks suspend when the airo module is loaded: kernel: Stopping tasks:

[PATCH 1/2] [PCI] Check that MWI bit really did get set

2006-10-06 Thread Matthew Wilcox
Since some devices may not implement the MWI bit, we should check that the write did set it and return an error if it didn't. Signed-off-by: Matthew Wilcox [EMAIL PROTECTED] diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index a544997..3d041f4 100644 --- a/drivers/pci/pci.c +++

From: Matthew Wilcox [EMAIL PROTECTED]

2006-10-06 Thread Matthew Wilcox
Since some devices may not implement the MWI bit, we should check that the write did set it and return an error if it didn't. Signed-off-by: Matthew Wilcox [EMAIL PROTECTED] diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index a544997..3d041f4 100644 --- a/drivers/pci/pci.c +++

From: Matthew Wilcox [EMAIL PROTECTED]

2006-10-06 Thread Matthew Wilcox
We used to check whether pci_set_mwi() had succeeded by testing the hardware MWI bit. Now we need only check the return value (and failing to do so is a warning). Also, pci_set_mwi() will fail if the cache line size is 0, so we don't need to check that ourselves any more. Signed-off-by: Matthew

[PATCH 2/2] [TULIP] Check the return value from pci_set_mwi()

2006-10-06 Thread Matthew Wilcox
We used to check whether pci_set_mwi() had succeeded by testing the hardware MWI bit. Now we need only check the return value (and failing to do so is a warning). Also, pci_set_mwi() will fail if the cache line size is 0, so we don't need to check that ourselves any more. Signed-off-by: Matthew

Re: [PATCH 2/2] [TULIP] Check the return value from pci_set_mwi()

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: Also, pci_set_mwi() will fail if the cache line size is 0, so we don't need to check that ourselves any more. NAK, not true on all arches. sparc64 at least presumes that the firmware DTRT with cacheline size, which hurts us now given this tulip patch Jeff -

Re: [PATCH 1/2] [PCI] Check that MWI bit really did get set

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: Since some devices may not implement the MWI bit, we should check that the write did set it and return an error if it didn't. Signed-off-by: Matthew Wilcox [EMAIL PROTECTED] ACK, though (as it seems you are doing) you should audit pci_set_mwi() users to make sure

More info on section mismatches (was Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c)

2006-10-06 Thread Valerie Henson
On Fri, Oct 06, 2006 at 02:39:41PM -0400, Jeff Garzik wrote: Matthew Wilcox wrote: From: Helge Deller [EMAIL PROTECTED] WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to .init.text:de_init_one from .data.rel.local after 'de_driver' (at offset 0x20) WARNING:

Re: From: Matthew Wilcox [EMAIL PROTECTED]

2006-10-06 Thread Matthew Wilcox
On Fri, Oct 06, 2006 at 01:01:34PM -0600, Matthew Wilcox wrote: Sorry about these. Stupid git-send-email requires a line of garbage before the headers. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at

Re: [PATCH 2/2] [TULIP] Check the return value from pci_set_mwi()

2006-10-06 Thread Matthew Wilcox
On Fri, Oct 06, 2006 at 03:15:15PM -0400, Jeff Garzik wrote: Matthew Wilcox wrote: Also, pci_set_mwi() will fail if the cache line size is 0, so we don't need to check that ourselves any more. NAK, not true on all arches. sparc64 at least presumes that the firmware DTRT with cacheline

[git-or-PATCH] IRQ handler cleanups

2006-10-06 Thread Jeff Garzik
This is the pure-cleanup stuff I pulled out of this morning's remove-irq-arg work. No behavior changes, just killing dead code, killing unused 'irq' arguments in sub-functions, and killing void* casts. Please pull from 'irqclean-submit1' branch of

Re: [PATCH 2/2] [TULIP] Check the return value from pci_set_mwi()

2006-10-06 Thread Jeff Garzik
Matthew Wilcox wrote: On Fri, Oct 06, 2006 at 03:15:15PM -0400, Jeff Garzik wrote: Matthew Wilcox wrote: Also, pci_set_mwi() will fail if the cache line size is 0, so we don't need to check that ourselves any more. NAK, not true on all arches. sparc64 at least presumes that the firmware DTRT

Re: 2.6.18-mm2 boot failure on x86-64

2006-10-06 Thread Vivek Goyal
On Fri, Oct 06, 2006 at 01:03:50PM -0500, Steve Fox wrote: On Fri, 2006-10-06 at 18:11 +0100, Mel Gorman wrote: On (06/10/06 11:36), Vivek Goyal didst pronounce: Where is bss placed in physical memory? I guess bss_start and bss_stop from System.map will tell us. That will confirm that

Re: [git-or-PATCH] IRQ handler cleanups

2006-10-06 Thread Alan Cox
Acked-by: Alan Cox [EMAIL PROTECTED] All looks ok, the bigger change in riscom8 is verifiably safe too - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Latest fixes to bcm43xx-d80211 now available as patch to 2.6.18

2006-10-06 Thread Larry Finger
Bin Zhang wrote: CC [M] drivers/net/wireless/d80211/bcm43xx/bcm43xx_pio.o LD [M] drivers/net/wireless/d80211/bcm43xx/bcm43xx-d80211.o LD drivers/net/wireless/built-in.o ld: drivers/net/wireless/d80211/built-in.o: No such file: No such file or directory make[3]: ***

Re: Latest fixes to bcm43xx-d80211 now available as patch to 2.6.18

2006-10-06 Thread Didier LINK
Le vendredi 06 octobre 2006 à 11:24 -0500, Larry Finger a écrit : Bin Zhang wrote: CC [M] drivers/net/wireless/d80211/bcm43xx/bcm43xx_pio.o LD [M] drivers/net/wireless/d80211/bcm43xx/bcm43xx-d80211.o LD drivers/net/wireless/built-in.o ld: drivers/net/wireless/d80211/built-in.o:

Re: Latest fixes to bcm43xx-d80211 now available as patch to 2.6.18

2006-10-06 Thread Bin Zhang
On 10/6/06, Larry Finger [EMAIL PROTECTED] wrote: Bin Zhang wrote: CC [M] drivers/net/wireless/d80211/bcm43xx/bcm43xx_pio.o LD [M] drivers/net/wireless/d80211/bcm43xx/bcm43xx-d80211.o LD drivers/net/wireless/built-in.o ld: drivers/net/wireless/d80211/built-in.o: No such file: No

Re: [Bugme-new] [Bug 7278] New: forcedeth slowed down by traffic shaping

2006-10-06 Thread Andrew Morton
On Fri, 6 Oct 2006 17:18:13 -0700 [EMAIL PROTECTED] wrote: http://bugzilla.kernel.org/show_bug.cgi?id=7278 Summary: forcedeth slowed down by traffic shaping Kernel Version: 2.6.16 Status: NEW Severity: normal Owner: [EMAIL PROTECTED]

Re: 2.6.19-rc1 regression: airo suspend fails

2006-10-06 Thread Alex Romosan
Adrian Bunk [EMAIL PROTECTED] writes: On Thu, Oct 05, 2006 at 09:31:16PM -0700, Alex Romosan wrote: Linus Torvalds [EMAIL PROTECTED] writes: so please give it a good testing, and let's see if there are any regressions. it breaks suspend when the airo module is loaded: kernel:

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread Bill Fink
On Fri, 6 Oct 2006 17:15:56 +0200, Joerg Roedel wrote: +config IPV6_SIT + tristate IPv6: IPv6-in-IPv4 tunnel (SIT driver) + depends on IPV6 + default y + ---help--- + Tunneling means encapsulating data of one protocol type within + another protocol and sending

Re: [PATCH 01/02] net/ipv6: seperate sit driver to extra module

2006-10-06 Thread James Morris
On Sat, 7 Oct 2006, Bill Fink wrote: On Fri, 6 Oct 2006 17:15:56 +0200, Joerg Roedel wrote: +config IPV6_SIT + tristate IPv6: IPv6-in-IPv4 tunnel (SIT driver) + depends on IPV6 + default y + ---help--- + Tunneling means encapsulating data of one protocol type within +

Re: [PATCH 2/2] [TULIP] Check the return value from pci_set_mwi()

2006-10-06 Thread Grant Grundler
On Fri, Oct 06, 2006 at 03:59:57PM -0400, Jeff Garzik wrote: The unmodified tulip driver checks both MWI and cacheline-size because one of the clones (PNIC or PNIC2) will let you set the MWI bit, but hardwires cacheline size to zero. Maybe the generic pci_set_mwi() can verify cacheline size