aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-04-24[PKT_SCHED]: improve hashing performance of cls_fwThomas Graf
Calculate hashtable size to fit into a page instead of a hardcoded 256 buckets hash table. Results in a 1024 buckets hashtable on most systems. Replace old naive extract-8-lsb-bits algorithm with a better algorithm xor'ing 3 or 4 bit fields at the size of the hashtable array index in order to improve distribution if the majority of the lower bits are unused while keeping zero collision behaviour for the most common use case. Thanks to Wang Jian <lark@linux.net.cn> for bringing this issue to attention and to Eran Mann <emann@mrv.com> for the initial idea for this new algorithm. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.Herbert Xu
The SELinux hooks invoke ipv6_skip_exthdr() with an incorrect length final argument. However, the length argument turns out to be superfluous. I was just reading ipv6_skip_exthdr and it occured to me that we can get rid of len altogether. The only place where len is used is to check whether the skb has two bytes for ipv6_opt_hdr. This check is done by skb_header_pointer/skb_copy_bits anyway. Now it might appear that we've made the code slower by deferring the check to skb_copy_bits. However, this check should not trigger in the common case so this is OK. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[NET]: Document ->hard_start_xmit() locking in netdevices.txtBen Greear
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[NET]: Document ->hard_start_xmit() locking in comments.Ben Greear
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[PKT_SCHED]: Introduce simple actions.Jamal Hadi Salim
And provide an example simply action in order to demonstrate usage. Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[TG3]: Update driver version and release date.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[ATM]: ENI155P error handling fixAndrew Morton
From: Panagiotis Issaris <takis@lumumba.luc.ac.be> In the ENI155P device driver in six possible failure cases the requested irq is not being released. In three of the above possible failure cases additionally there seems to be a memory leak. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[TCP]: skb pcount with MTU discoveryDavid S. Miller
The problem is that when doing MTU discovery, the too-large segments in the write queue will be calculated as having a pcount of >1. When tcp_write_xmit() is trying to send, tcp_snd_test() fails the cwnd test when pcount > cwnd. The segments are eventually transmitted one at a time by keepalive, but this can take a long time. This patch checks if TSO is enabled when setting pcount. Signed-off-by: John Heffner <jheffner@psc.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[SLIP]: Remove redundant NULL pointer checks prior to kfreeJesper Juhl
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[ATM]: [fore200e] pci doesn't use global board list; use pci_register_driver()chas williams
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[ATM]: [he] Use the DMA_32BIT_MASK constant from dma-mapping.hchas williams
Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[AX25] Introduce ax25_type_transArnaldo Carvalho de Melo
Replacing the open coded equivalents and making ax25 look more like a linux network protocol, i.e. more similar to inet. Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[NETFILTER]: Ignore PSH on SYN/ACK in TCP connection trackingPatrick McHardy
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[NETFILTER]: Fix NAT sequence number adjustmentPatrick McHardy
The NAT changes in 2.6.11 changed the position where helpers are called and perform packet mangling. Before 2.6.11, a NAT helper was called before the packet was NATed and had its sequence number adjusted. Since 2.6.11, the helpers get packets with already adjusted sequence numbers. This breaks sequence number adjustment, adjust_tcp_sequence() needs the original sequence number to determine whether a packet was a retransmission and to store it for further corrections. It can't be reconstructed without more information than available, so this patch restores the old order by calling helpers from a new conntrack hook two priorities below ip_conntrack_confirm() and adjusting the sequence number from a new NAT hook one priority below ip_conntrack_confirm(). Tracked down by Phil Oester <kernel@linuxace.com> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24[PATCH] ppc trivial iomem annotations: pmac_smp.cAl Viro
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] ppc trivial iomem annotations: chrpAl Viro
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] ppc trivial iomem annotations: pmac_time.cAl Viro
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] mostek bogus sparse annotations fixedAl Viro
void * __iomem foo is not a pointer to iomem - it's an iomem variable containing void *. A pile of such guys in arch/sparc64/kernel/time.c, drivers/sbus/char/rtc.c and include/asm-sparc64/mostek.h turned into intended void __iomem *. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] missing include in mthcaAl Viro
Missing include - usual portability problems... Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] broken dependency for floppy on ARMAl Viro
(!ARCH_S390 && !M68K && !IA64 && !UML) is obviously always true on ARM. Intended behaviour for ARM is "absent unless we are on RiscPC or EBSA285". So what we want is added && !ARM in the first term - without it the last part (|| ARCH_RPC || ARCH_EBSA285, that is) doesn't do anything. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] missing include in hisaxAl Viro
Missing include, breaks at least on arm. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] __get_unaligned() turned into macroAl Viro
Turns __get_unaligned() and __put_unaligned into macros. That is definitely safe; leaving them as inlines breaks on e.g. alpha [try to build ncpfs there and you'll get unresolved symbols since we end up getting __get_unaligned() not inlined]. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] broken dependency for I2C_MPCAl Viro
All boards dealt with by I2C_MPC are 32bit. Moreover, driver simply won't build on ppc64 - it uses ppc32-only types all over the place. Dependency fixed - it's PPC32, not PPC. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] missing dependency on sparc64Al Viro
CONFIG_HW_CONSOLE selects vt.c; without the stuff pulled by CONFIG_VT it will not build. Normally we get both in drivers/char/Kconfig and there HW_CONSOLE depends on VT. sparc64 does not pull drivers/char/Kconfig and has that sutff in arch/sparc64/Kconfig instead. However, it forgets to add the same dependency. As the result, turning VT off [which is possible] will end up with broken build. For no good reason... Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] msnd_pinnacle GFP fixAl Viro
Dumb typo - __get_free_page() takes gfp mask (in this case - GFP_KERNEL), not the page size... Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] mempolicy.c GFP fixAl Viro
zonelist_policy() forgot to mask non-zone bits from gfp when comparing zone number with policy_zone. ACKed-by: Andi Kleen <ak@suse.de> Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24[PATCH] SCSI GFP fixesAl Viro
Somebody forgot that | has higher priority than ?:. As the result, allocation is done with bogus flags - instead of GFP_ATOMIC + possibly GFP_DMA we always get GFP_DMA and no GFP_ATOMIC. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-22[IA64] Fix build errors for !HOTPLUG case.Ashok Raj
Signed-off-by: Ashok Raj <ashok.raj@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-22[IA64] cpu hotplug: return offlined cpus to SALAshok Raj
This patch is required to support cpu removal for IPF systems. Existing code just fakes the real offline by keeping it run the idle thread, and polling for the bit to re-appear in the cpu_state to get out of the idle loop. For the cpu-offline to work correctly, we need to pass control of this CPU back to SAL so it can continue in the boot-rendez mode. This gives the SAL control to not pick this cpu as the monarch processor for global MCA events, and addition does not wait for this cpu to checkin with SAL for global MCA events as well. The handoff is implemented as documented in SAL specification section 3.2.5.1 "OS_BOOT_RENDEZ to SAL return State" Signed-off-by: Ashok Raj <ashok.raj@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-22[IA64] ia32_signal.c: erroneous use of memset/memcpyArun Sharma
Found by Alexander Nyberg, improved by Bjorn Helgaas. - Fix the incorrect argument to sizeof() - looks like memcpy() code pass was dervived from code that used copy_from_user(). But in this case we are doing to kernel space to kernel space copy, so memcpy is the right routine, but it doesn't return an error code. Signed-off-by: Arun Sharma <arun.sharma@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-22[PATCH] x86_64: fix new out of line put_user()Alexander Nyberg
The labels after the last put_user patch were misplaced so exceptions on the real mov instructions would not be handled. Noted by Brian Gerst <bgerst@didntduck.org>
2005-04-22Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.gitLinus Torvalds
2005-04-21[SPARC64]: In sunsab driver, make sure to set the uart timeout.David S. Miller
This breaks serial consoles badly. Thanks to Eric Brower for tracking down the problem. Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[SPARC64]: In sunsu driver, make sure to fully init chip for kbd/msDavid S. Miller
We were forgetting to call sunsu_change_speed(). The reason that replugging in the mouse cable "fixes things" is that causes a BREAK interrupt which in turn caused a call to sunsu_change_speed() which would get the chip setup properly. Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[SPARC]: Provide generic ioctls in Sparc RTC driver.David S. Miller
Provide support for drivers/char/rtc.c ioctls in the Mostek rtc driver as well as the Sparc specific RTCGET and RTCSET. This allows userspace to be much less messy. Currently util-linux and other spots jump through hoops trying various ioctl variants until it hits the right one whatever driver actually being used supports. Eventually all of this should move over to the genrtc.c driver, but not today... While we are here, fix up the register types for sparse. Thanks to Frans Pop for helping point out this issue. Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[SPARC64]: Provide a pgprot_noncached() implementation.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[XFRM]: Fix existence lookup in xfrm_state_findPatrick McHardy
Use 'daddr' instead of &tmpl->id.daddr, since the latter might be zero. Also, only perform the lookup when tmpl->id.spi is non-zero. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Add msi testMichael Chan
Add MSI test for chips that support MSI. If MSI test fails, it will switch back to INTx mode and will print a message asking the user to report the failure. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Add msi supportMichael Chan
Add MSI support for 5751 C0 and 5752. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Fix bug in tg3_set_eeprom()Michael Chan
Fix a bug in tg3_set_eeprom() when the length is less than 4 and the offset is not 4-byte aligned. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Add nvram lock-out support for 5752 TPMMichael Chan
Add support for the NVRAM lock-out feature for TPM in 5752. If lock-out is enabled, certain NVRAM registers cannot be written to. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Add nvram detection for 5752Michael Chan
Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Add GPIO3 for 5752Michael Chan
Add bit definitions for the new GPIO3 in 5752. GPIO3 must be driven as output when it is unused. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Workaround 5752 A0 chip IDMichael Chan
The 5752 A0 chip ID is wrong in hardware. The simplest way to workaround it is to change it to the correct value in tp->pci_chip_rev_id. This way, it is easier to check for the ASIC_REV_5752 in the rest of the driver. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Fix tg3_set_power_state()Michael Chan
Fix tg3_set_power_state to drive GPIOs properly based on the TG3_FLAG_EEPROM_WRITE_PROTECT flag. Some delays are also added after D0 and D3 power state changes. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Setup proper GPIO settingsMichael Chan
Setup proper GPIO settings in tp->grc_local_ctrl before calling tg3_set_power() state in tg3_get_invariants() and after chip reset. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Split tg3_phy_probe into 2 functionsMichael Chan
Split the 1st half of tg3_phy_probe() into tg3_get_eeprom_hw_cfg() so that the TG3_FLAG_EEPROM_WRITE_PROT can be determined before calling tg3_set_power_state() in tg3_get_invariants(). This will allow tg3_set_power_state() to drive the GPIOs correctly based on the config. information in eeprom. On the 5752, there are no pull-up resistors on the GPIO pins and it is necessary to drive the unused GPIOs as output. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: Minor 5752 fixesMichael Chan
Some minor 5752 fixes mostly for correctness and add 5752 PHY ID. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: add support for bcm5752 rev a1John W. Linville
Replace existing ASIC_REV_5752 definition with ASIC_REV_5752_A0, and add definition for ASIC_REV_5752_A1. Then, add ASIC_REV_5752_A1 to check for setting TG3_FLG2_5750_PLUS in tg3_get_invariants. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-21[TG3]: check TG3_FLG2_5750_PLUS flag to set TG3_FLG2_5705_PLUS flagJohn W. Linville
Use check of TG3_FLG2_5750_PLUS in tg3_get_invariants to set TG3_FLG2_5705_PLUS flag. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>