- 28 Jun, 2005 12 commits
-
-
Rajesh Shah authored
Read bridge io/mem/pfmem ranges when fixing up the bus so that bus resources are tracked. This is required to properly support pci end device and bridge hotplug. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
When hot-plugging an I/O hierarchy that contains many bridges and leaf devices, it's possible that there are not enough resources to start all the device present. If we fail to assign a resource, clear the corresponding value in the pci_dev structure, so other code can take corrective action. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
When a root bridge hierarchy is hot-plugged, resource requirements for the new devices may be greater than what the root bridge is decoding. In this case, we want to remove devices that did not get needed resources. These devices have been scanned into bus specific lists but not yet added to the global device list. Make sure the pci remove functions can handle this case. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
When a pci child bus is created, add it to the parent's children list immediately rather than waiting till pci_bus_add_devices(). For hot-plug bridges/devices, pci_bus_add_devices() may be called much later, after they have been properly configured. In the meantime, this allows us to use the normal pci bus search functions for the hot-plug bridges/buses. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
With root bridge and pci bridge hot-plug, new buses and devices can be added or removed at run time. Protect the pci bus and device lists with the pci lock when doing so. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
When hot-plugging a root bridge, as we try to assign bus numbers we may find that the hotplugged hieratchy has more PCI to PCI bridges (i.e. bus requirements) than available. Make sure we don't step over an existing bus when that happens. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
PCI scan code calls the arch specific pcibios_fixup_bus() each time it scans a new bridge. For root bridge hot-plug, the bridge and it's attached devices may not have been configured properly yet, so it's not safe to claim those resources at this time. This code goes away when we clean up the way pci resources are claimed (in pci_enable_device()), so this is only a stopgap fix. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
When checking if a PCI to PCI bridge should be enabled to decode memory and/or IO resources, we need to look at all device resources not just the first 6. This is needed to allow PCI bridges to pass down memory and IO accesses to child devices even when the bridge itself does not consume resources in its PCI BARs. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Rajesh Shah authored
When you hot-plug a (root) bridge hierarchy, it may have p2p bridges and devices attached to it that have not been configured by firmware. In this case, we need to configure the devices before starting them. This patch separates device start from device scan so that we can introduce the configuration step in the middle. I kept the existing semantics for pci_scan_bus() since there are a huge number of callers to that function. Also, I have no way of testing the changes I made to the parisc files, so this needs review by those folks. Sorry for the massive cross-post, this touches files in many different places. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Amit Gud authored
Replace pci_find_device() with more safer pci_get_device(). Signed-off-by: Amit Gud <gud@eth.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Amit Gud authored
Replace pci_find_device() with more safer pci_get_device(). Signed-off-by: Amit Gud <gud@eth.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
jayalk@intworks.biz authored
I updated this to remove unnecessary variable initialization, make check_routing be inline only and not __init, switch to strtoul, and formatting fixes as per Randy Dunlap's recommendations. I updated this to change pirq_table_addr to a long, and to add a warning msg if the PIRQ table wasn't found at the specified address, as per thread with Matthew Wilcox. In our hardware situation, the BIOS is unable to store or generate it's PIRQ table in the F0000h-100000h standard range. This patch adds a pci kernel parameter, pirqaddr to allow the bootloader (or BIOS based loader) to inform the kernel where the PIRQ table got stored. A beneficial side-effect is that, if one's BIOS uses a static address each time for it's PIRQ table, then pirqaddr can be used to avoid the $pirq search through that address block each time at boot for normal PIRQ BIOSes. Signed-off-by: Jaya Kumar <jayalk@intworks.biz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
- 27 Jun, 2005 2 commits
-
-
Linus Torvalds authored
- 26 Jun, 2005 26 commits
-
-
pageexec authored
From: <pageexec@freemail.hu> $subject was fixed in 2.4 already, 2.6 needs it as well. The impact of the bugs is a kernel stack overflow and privilege escalation from CAP_NET_ADMIN via the IP_VS_SO_SET_STARTDAEMON/IP_VS_SO_GET_DAEMON ioctls. People running with 'root=all caps' (i.e., most users) are not really affected (there's nothing to escalate), but SELinux and similar users should take it seriously if they grant CAP_NET_ADMIN to other users. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Sascha Hauer authored
This patch fixes two bugs in the dm9000 network driver: - Don't read one byte too much in 8bit mode. - release correct resource Signed-off-by: Jochen Karrer <j.karrer@lightmaze.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Ismail Donmez authored
Patch indents dmfe.txt to look like other docs. It adds a tip about CNET cards using Davicom chipsets. Also it removes parts where it refers to how to build driver out-of-kernel which seems to be cruft from times where the driver was out of the kernel. Signed-off-by: Ismail Donmez <ismail@kde.org.tr> Signed-off-by: Domen Puncer <domen@coderock.org> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Denis Vlasenko authored
Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Pavel Machek authored
Fix int vs. pm_message_t confusion in airo. Should change no code. Signed-off-by: Pavel Machek <pavel@suse.cz> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Maciej W. Rozycki authored
This is a fix for the interrupt handler in the defxx driver to use irqreturn_t. Beside the obvious fix of returning a proper status at all, it actually checks board registers as appropriate for determining if an interrupt has been recorded in the bus-specific interface logic. The patch also includes an obvious one-line fix for SET_NETDEV_DEV needed for the EISA variation, for which I've decided there is no point in sending separately. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
drivers/net/tulip/dmfe.c: In function `dmfe_parse_srom': drivers/net/tulip/dmfe.c:1805: warning: passing arg 1 of `__le16_to_cpup' from incompatible pointer type drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type This is basically a guess: Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Adrian Bunk authored
The 8129/8130 support is a sub-option that is not visible if the user hasn't enabled the 8139 support. Let's make it a bit easier for users to find the driver for their nic. Signed-off-by: Adrian Bunk <bunk@stusta.de>
-
David S. Miller authored
1) netlink_release() should only decrement the hash entry count if the socket was actually hashed. This was causing hash->entries to underflow, which resulting in all kinds of troubles. On 64-bit systems, this would cause the following conditional to erroneously trigger: err = -ENOMEM; if (BITS_PER_LONG > 32 && unlikely(hash->entries >= UINT_MAX)) goto err; 2) netlink_autobind() needs to propagate the error return from netlink_insert(). Otherwise, callers will not see the error as they should and thus try to operate on a socket with a zero pid, which is very bad. However, it should not propagate -EBUSY. If two threads race to autobind the socket, that is fine. This is consistent with the autobind behavior in other protocols. So bug #1 above, combined with this one, resulted in hangs on netlink_sendmsg() calls to the rtnetlink socket. We'd try to do the user sendmsg() with the socket's pid set to zero, later we do a socket lookup using that pid (via the value we stashed away in NETLINK_CB(skb).pid), but that won't give us the user socket, it will give us the rtnetlink socket. So when we try to wake up the receive queue, we dive back into rtnetlink_rcv() which tries to recursively take the rtnetlink semaphore. Thanks to Jakub Jelink for providing backtraces. Also, thanks to Herbert Xu for supplying debugging patches to help track this down, and also finding a mistake in an earlier version of this fix. Signed-off-by: David S. Miller <davem@davemloft.net>
-
Nishanth Aravamudan authored
Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected.
-
Adrian Bunk authored
This patch removes some obviously dead code found by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de>
-
Adrian Bunk authored
This patch fixes the LITTLE_ENDIAN #define and a function prototype. Signed-off-by: Adrian Bunk <bunk@stusta.de>
-
Adrian Bunk authored
This patch contains the follwing cleanups: - make needlessly global code static - remove obsolete Emacs settings Signed-off-by: Adrian Bunk <bunk@stusta.de>
-
David S. Miller authored
We're using __be16 in userland visible types, so we have to include asm/byteorder.h so that works. Signed-off-by: David S. Miller <davem@davemloft.net>
-
Robert Olsson authored
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Andreas Mohr authored
During some performance diagnostics I stumbled on this slightly wasteful code in pcnet_cs.c which I made the patch included at the bottom for (two minor comment fixes included). Improvement: instead of *always* calculating lea 0x2c0(%edx),%ebx and then additionally doing the mov %edx,0xc0(%ebx) addition *if we need it*, we now do the *whole* calculation of mov %edx,0x380(%ebx) *only* if we need it. This even manages to save us a whole 16-byte alignment buffer loss in this compilation case. Result: slightly improves IRQ handler performance in both shared and non-shared IRQ case, which should make my rusty P3/700 a slight bit happier. Thank you for your support, Andreas Mohr old asm result (using gcc 3.3.5): 000015a0 <ei_irq_wrapper>: 15a0: 55 push %ebp 15a1: 89 e5 mov %esp,%ebp 15a3: 53 push %ebx 15a4: 8d 9a c0 02 00 00 lea 0x2c0(%edx),%ebx 15aa: e8 fc ff ff ff call 15ab <ei_irq_wrapper+0xb> 15af: 83 f8 01 cmp $0x1,%eax 15b2: 74 03 je 15b7 <ei_irq_wrapper+0x17> 15b4: 5b pop %ebx 15b5: 5d pop %ebp 15b6: c3 ret 15b7: 31 d2 xor %edx,%edx 15b9: 89 93 c0 00 00 00 mov %edx,0xc0(%ebx) 15bf: eb f3 jmp 15b4 <ei_irq_wrapper+0x14> 15c1: eb 0d jmp 15d0 <ei_watchdog> 15c3: 90 nop 15c4: 90 nop 15c5: 90 nop 15c6: 90 nop 15c7: 90 nop 15c8: 90 nop 15c9: 90 nop 15ca: 90 nop 15cb: 90 nop 15cc: 90 nop 15cd: 90 nop 15ce: 90 nop 15cf: 90 nop 000015d0 <ei_watchdog>: new asm result: 000015a0 <ei_irq_wrapper>: 15a0: 55 push %ebp 15a1: 89 e5 mov %esp,%ebp 15a3: 53 push %ebx 15a4: 89 d3 mov %edx,%ebx 15a6: e8 fc ff ff ff call 15a7 <ei_irq_wrapper+0x7> 15ab: 83 f8 01 cmp $0x1,%eax 15ae: 74 03 je 15b3 <ei_irq_wrapper+0x13> 15b0: 5b pop %ebx 15b1: 5d pop %ebp 15b2: c3 ret 15b3: 31 d2 xor %edx,%edx 15b5: 89 93 80 03 00 00 mov %edx,0x380(%ebx) 15bb: eb f3 jmp 15b0 <ei_irq_wrapper+0x10> 15bd: 8d 76 00 lea 0x0(%esi),%esi 000015c0 <ei_watchdog>: Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Domen Puncer authored
Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() This patch includes dma-mapping.h explicitly because it caused errors on some architectures otherwise. See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Domen Puncer <domen@coderock.org>
-
Adrian Bunk authored
It doesn't seem to make much sense to let an "If unsure, say N." option default to y. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Since it is tristate when we offer it as a choice, we should definte it also as tristate when forcing it as the default. Otherwise kconfig warns. Signed-off-by: David S. Miller <davem@davemloft.net>
-
Magnus Damm authored
Make sure the code compiles with and without ARLAN_ENTRY_EXIT_DEBUGGING. Only provide parameter descriptions when parameters are defined. Remove "arlan_"-prefix to shape up built-in parameter names: arlan.arlan_debug -> arlan.debug arlan.arlan_EEPROM_bad -> arlan.EEPROM_bad arlan.arlan_entry_and_exit_debug -> arlan.entry_and_exit_debug arlan.arlan_entry_debug -> arlan.entry_debug arlan.arlan_exit_debug -> arlan.exit_debug Signed-off-by: Magnus Damm <damm@opensource.se>
-
Tobias Klauser authored
Use the DMA_32BIT_MASK constant from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() instead of custom macros. This patch includes dma-mapping.h explicitly because it caused errors on some architectures otherwise. See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
-
Jeff Garzik authored
-
Jeff Garzik authored
-
Stephen Hemminger authored
The spin loop in 8139cp is limited to 100 iterations when pulling hardware stats. There is no allowance for processor speed so on a fast machine, the stats may not be available that fast. Also, if the board doesn't return soon enough make sure turn the address back off to prevent later updates when memory has gone away.
-
Kumar Gala authored
This patch updates the name identifier to list both of the Marvell PHYs that are supported. Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
-
Jay Vosburgh authored
Add support for alternate slave selection algorithms to bonding balance-xor and 802.3ad modes. Default mode (what we have now: xor of MAC addresses) is "layer2", new choice is "layer3+4", using IP and port information for hashing to select peer. Originally submitted by Jason Gabler for balance-xor mode; modified by Jay Vosburgh to additionally support 802.3ad mode. Jason's original comment is as follows: The attached patch to the Linux Etherchannel Bonding driver modifies the driver's "balance-xor" mode as follows: - alternate hashing policy support for mode 2 * Added kernel parameter "xmit_policy" to allow the specification of different hashing policies for mode 2. The original mode 2 policy is the default, now found in xmit_hash_policy_layer2(). * Added xmit_hash_policy_layer34() This patch was inspired by hashing policies implemented by Cisco, Foundry and IBM, which are explained in Foundry documentation found at: http://www.foundrynet.com/services/documentation/sribcg/Trunking.html#112750Signed-off-by: Jason Gabler <jygabler@lbl.gov> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
-