[PATCH] drivers/net/wireless/hermes.c unsigned int comparision
hermas_bap_pread, hermes_bap_pwrite, and hermes_bap_pwrite_pad all have a parameter "len" that is declared unsigned,
but checked for a value less than zero. Auditing the callers, it is possible for len to be passed a negative value, so len should be an int.
Thanks to LinuxICC (http://linuxicc.sf.net)
Signed-off-by: Gabriel A. Devenyi <ace@staticwave.ca> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jesse Brandeburg [Mon, 14 Nov 2005 21:15:49 +0000 (13:15 -0800)]
[PATCH] e100: re-enable microcode with more useful defaults
For the four versions of hardware that we (currently) support microcode
download on, the default configuration of our receive interrupt mitigation
microcode was too aggressive, and caused unnecessary delays when pinging,
and low(er) throughput on single connection latency sensitive performance
tests.
This code adds microcode support, and sets the defaults to more reasonable
settings. It also explains the functionality in the code in more detail.
Compile and load tested, shows expected behavior for slight delay of ping
packets (1-2ms) when ucode is loaded, and decent interrupt moderation for
small packets, while maintaining good throughput.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Russell King [Fri, 18 Nov 2005 17:57:55 +0000 (12:57 -0500)]
[PATCH] smc91x: fix bank mismatch
The smc91x driver relies upon register bank 2 being selected whenever
the interrupt handler is called. This isn't always so, especially if
we have a link change event during PHY configuration.
This results in register bank 0 being selected when the interrupt
handler is called, causing the wrong registers to be read for the
IRQ mask and status. In turn, this causes us to spin with a
permanently asserted IRQ.
The patch ensures that smc_phy_configure always exits with register
bank 2 selected.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Nicolas Pitre [Thu, 17 Nov 2005 19:02:48 +0000 (14:02 -0500)]
[PATCH] smc91x: fix one source of spurious interrupts
Not only SMC_ACK_INT(IM_TX_EMPTY_INT) in in smc_hardware_send_pkt)
appears to be unnecessary (tested with an SMC91C94 and SMC91C111), but
it seems to trigger spurious interrupts on some machines as well.
Removed.
While at it, let's log any remaining spurious interrupts if any (and
clean usage of the max IRQ loop count value).
Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Andy Whitcroft [Fri, 18 Nov 2005 09:11:02 +0000 (01:11 -0800)]
[PATCH] ppc64 need HPAGE_SHIFT when huge pages disabled
With the new powerpc architecture we don't seem to be able to disable huge
pages anymore.
mm/built-in.o(.toc1+0xae0): undefined reference to `HPAGE_SHIFT'
make: *** [.tmp_vmlinux1] Error 1
We seem to need to define HPAGE_SHIFT to something when HUGETLB_PAGE isn't
defined. This patch defines it to PAGE_SHIFT when we have no support.
Signed-off-by: Andy Whitcroft <apw@shadowen.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown [Fri, 18 Nov 2005 09:11:01 +0000 (01:11 -0800)]
[PATCH] md: fix is_mddev_idle calculation now that disk/sector accounting happens when request completes
md needs to monitor the rate of requests to its devices when doing
resync/recovery so that it can back-off when there is non-resync IO. It
does this by comparing resync IO, which it counts, with total IO which is
taken from disk_stats.
disk_stats were recently changed to account sectors when a request
completes instead of when it is queued. This upsets md's calculations.
We could do the sync_io accounting at the end of requests too, but that has
problems. If an underlying device is an md array, the accounting will
still be done when the request is submitted. This could be changed for
some raid levels, but it cannot be changed for raid0 or linear without
substantial code changes.
So instead, we increase the error that is_mddev_idle allows, up to the
maximum amount of resync IO that can be in flight at any time. The
calculation is current fragile as each personality as different limits for
in-flight resync. This should be fixed up.
For now, this simple patch fixes the problem.
Increasing the error margin decreases the sensitivity to non-resync IO. To
partially compensate for this, the time to wait when non-resync IO is
detected is increased so that less steady IO is required to keep the resync
at bay.
Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Matt Domsch [Fri, 18 Nov 2005 09:10:54 +0000 (01:10 -0800)]
[PATCH] ipmi: missing NULL test for kthread
On IPMI systems with BT interfaces, we don't start the kernel thread, so
smi_info->thread is NULL. Test for NULL when stopping the thread, because
kthread_stop() doesn't, and an oops ensues otherwise.
Signed-off-by: Matt Domsch <Matt_Domsch@dell.com> Acked-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul E. McKenney [Fri, 18 Nov 2005 09:10:50 +0000 (01:10 -0800)]
[PATCH] add success/failure indication to RCU torture test
One issue with the RCU torture test is that the current error flagging can
be lost in dmesg. This patch adds a "SUCCESS"/"FAILURE" string to the line
that flags the end of the test, where it can easily be seen with "dmesg |
tail" at the end of the test. Also adds tests of architecture-specific
memory barriers -- or, more likely, of the RCU torture test itself.
Cc: <vatsa@in.ibm.com> Signed-off-by: "Paul E. McKenney" <paulmck@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 18 Nov 2005 15:29:51 +0000 (07:29 -0800)]
Fix ACPI processor power block initialization
Properly clear the memory, and set "pr->flags.power" only if a C2 or
deeper state is valid (to make the code match both the comment and
previous behaviour).
This fixes a boot-time lockup reported by Maneesh Soni when using
"maxcpus=1".
Acked-by: Maneesh Soni <maneesh@in.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Fri, 18 Nov 2005 05:39:08 +0000 (16:39 +1100)]
powerpc: Move defconfig over and remove remaining arch/ppc64 files
make defconfig will now use arch/powerpc/configs/ppc64_defconfig
if running on a ppc64 system. I need to add an
arch/powerpc/configs/ppc_defconfig sometime.
Paul Mackerras [Fri, 18 Nov 2005 04:52:38 +0000 (15:52 +1100)]
powerpc: time-of-day fixes for 32-bit CHRP systems
This makes 32-bit CHRP systems use the RTAS time-of-day routines if
available. It fixes a bug in the RTAS time-of-day routines where they
were storing a 64-bit timebase value in an unsigned long by making
those variables u64. Also, the direct-access time-of-day routines
had the wrong convention for the month and year in the struct rtc_time.
Paul Mackerras [Fri, 18 Nov 2005 04:47:18 +0000 (15:47 +1100)]
powerpc: Fix compile error on pSeries arising from delay.h changes
pseries_dedicated_idle() was using __get_tb which used to be defined
in asm/delay.h. Change it to use get_tb from asm/time.h, which is
in fact exactly the same thing.
Paul Mackerras [Fri, 18 Nov 2005 04:43:34 +0000 (15:43 +1100)]
powerpc: Move remaining .c files from arch/ppc64 to arch/powerpc
This also deletes the now-unused Makefiles under arch/ppc64.
Both of the files moved over could use some merging, but for now I
have moved them as-is and arranged for them to be used only in 64-bit
kernels. For 32-bit kernels we still use arch/ppc/kernel/idle.c and
drivers/char/generic_nvram.c as before.
Mike Kravetz [Tue, 15 Nov 2005 00:12:49 +0000 (16:12 -0800)]
[PATCH] Remove SPAN_OTHER_NODES config definition
The config option SPAN_OTHER_NODES was created so that we could
make pSeries numa layouts work within the DISCONTIG memory model.
Now that DISCONTIG has been replaced by SPARSEMEM, we can eliminate
this option.
I'll be sending a separate patch to Andrew to remove the arch
independent code as pSeries was the only arch that needed this.
Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This patch merges align.c, the result isn't quite what was in ppc64 nor
what was in ppc32 :) It should implement all the functionalities of both
though. Kumar, since you played with that in the past, I suppose you
have some test cases for verifying that it works properly before I dig
out the 601 machine ? :)
Since it's likely that I won't be able to test all scenario, code
inspection is much welcome.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Fri, 18 Nov 2005 02:44:17 +0000 (13:44 +1100)]
powerpc: Fix delay functions for 601 processors
My earlier merge of delay.h introduced a timebase-based udelay for
32-bit machines but also broke the 601, which doesn't have the
timebase register. This fixes it by using the 601's RTC register on
the 601, and also moves __delay() and udelay() to be out-of-line in
arch/powerpc/kernel/time.c. These functions aren't really performance
critical, after all.
Michael Ellerman [Thu, 17 Nov 2005 09:34:35 +0000 (20:34 +1100)]
[PATCH] powerpc: Fix typo in topology.h
The fix to topology.h (5cfccd7f132432dd4705444a44b51d12ef88a85f) seems to have
a typeo, struct sched_domain has an idle_idx member but not an idle_id
member. I assume this is the fix.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Roman Zippel [Thu, 17 Nov 2005 23:22:39 +0000 (15:22 -0800)]
[NET]: Sanitize NET_SCHED protection in /net/sched/Kconfig
On Thu, 17 Nov 2005, David Gómez wrote:
> I found out that if i select NET_CLS_ROUTE4, save my changes and exit
> menuconfig, execute again make menuconfig and go to QoS options, then the new
> available options are visible. So menuconfig has some problem refreshing
> contents :?
No, they were there before too, but you have to go up one level to see
them.
It's better in 2.6.15-rc1-git5, but the menu structure is still a little
messed up, the patch below properly indents all menu entries.
Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 17 Nov 2005 23:17:42 +0000 (15:17 -0800)]
[LLC]: Fix compiler warnings introduced by TX window scaling changes.
Noticed by Olaf Hering.
The comparisons want a u8 here (the data type on the left-hand branch
is a u8 structure member, and the constant on the right-hand branch is
"~((u8) 128)"), but C turns it into an integer so we get:
net/llc/llc_c_ac.c: In function `llc_conn_ac_inc_npta_value':
net/llc/llc_c_ac.c:998: warning: comparison is always true due to limited range of data type
net/llc/llc_c_ac.c:999: warning: large integer implicitly truncated to unsigned type
Fix this up by explicitly recasting the right-hand branch constant
into a "u8" once more.
Signed-off-by: David S. Miller <davem@davemloft.net>
Harald Welte [Thu, 17 Nov 2005 23:06:47 +0000 (15:06 -0800)]
[NETFILTER] ip_conntrack: fix ftp/irc/tftp helpers on ports >= 32768
Since we've converted the ftp/irc/tftp helpers to use the new
module_parm_array() some time ago, we ware accidentially using signed data
types - thus preventing those modules from being used on ports >= 32768.
This patch fixes it by using 'ushort' module parameters.
Thanks to Jan Nijs for reporting this bug.
Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Jens Axboe [Thu, 17 Nov 2005 20:35:02 +0000 (21:35 +0100)]
[PATCH] VM: fix zone list restart in page allocatate
We must reassign z before looping through the zones kicking kswapd,
since it will be NULL if we hit an OOM condition and jump back to the
beginning again. 'z' is initially assigned before the restart: label. So
move the restart label up a little.
[PATCH] USB: move CONFIG_USB_DEBUG checks into the Makefile
This lets us remove a lot of code in the drivers that were all checking
the same thing. It also found some bugs in a few of the drivers, which
has been fixed up.
Antti Andreimann [Thu, 17 Nov 2005 17:47:53 +0000 (09:47 -0800)]
[PATCH] USB: Maxtor OneTouch button support for older drives
This small patch adds a device ID used by older Maxtor OneTouch drives
(the ones with blue face-plate instead of the fancy silver one used in
newer models). The button on those drives works well with the current
driver.
Andrew Morton [Thu, 17 Nov 2005 17:47:49 +0000 (09:47 -0800)]
[PATCH] usb devio warning fix
drivers/usb/core/devio.c: In function `proc_ioctl_compat':
drivers/usb/core/devio.c:1401: warning: passing arg 1 of `compat_ptr' makes integer from pointer without a cast
Daniel Drake [Thu, 17 Nov 2005 17:48:01 +0000 (09:48 -0800)]
[PATCH] usb-storage: Fix detection of kodak flash readers in shuttle_usbat driver
Peter Favrholdt reported that his Kodak flash device was getting
detected as a CDROM, and he helped me track this down to the fact that
the device takes a long time (approx 440ms!) to reset.
This patch increases the delay to 500ms, which solves the problem.
David Brownell [Thu, 17 Nov 2005 17:47:28 +0000 (09:47 -0800)]
[PATCH] USB: onetouch doesn't suspend yet
The onetouch support doesn't suspend correctly (leaves an interrupt
URB posted, instead of unlinking it) so for now just disable it
when PM is in the air.
Andrew Morton [Thu, 17 Nov 2005 17:47:02 +0000 (09:47 -0800)]
[PATCH] USB: usbdevfs_ioctl 32bit fix
drivers/usb/core/devio.c: In function `proc_ioctl_compat':
drivers/usb/core/devio.c:1401: warning: passing arg 1 of `compat_ptr' makes integer from pointer without a cast
NFI if this is correct...
Cc: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Marcel Holtmann [Thu, 17 Nov 2005 17:46:39 +0000 (09:46 -0800)]
[PATCH] USB: Delete leftovers from bluetty driver
This patch deletes the bluetooth.txt help file of the bluetty driver and
hands over its major device nodes for character devices to the RFCOMM TTY
implementation of the Bluetooth subsystem.
Due to incomplete memory constraints, gcc would miscompile code with
sigaddset on i386 if sig arg was const.
A quote form Jakub to make the issue clear:
"You need either
__asm__("btsl %1,%0" : "+m"(*set) : "Ir"(_sig-1) : "cc");
or
__asm__("btsl %1,%0" : "=m"(*set) : "Ir"(_sig-1), "m"(*set) : "cc");
because the btsl instruction doesn't just set the memory to some
value, but needs to read its previous content as well. If you don't
tell that fact to GCC, GCC is of course free to optimize as if the asm
was just setting the value and not depended on the previous value."
Zhu Yi [Thu, 17 Nov 2005 05:58:30 +0000 (13:58 +0800)]
[PATCH] ipw2200: fix error log offset calculation
This fixes a slab corruption issue in the ipw2200 driver: it essentially
multiplied the error log number _twice_ by the size of the error element
entry (once explicitly in the code, and once implicitly as part of the
regular pointer arithmetic).
Cc: Henrik Brix Andersen <brix@gentoo.org> Cc: Bernard Blackham <bernard@blackham.com.au> Cc: Zilvinas Valinskas <zilvinas@gemtek.lt> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
--
Pekka Enberg [Wed, 16 Nov 2005 19:55:05 +0000 (21:55 +0200)]
[PATCH] ipw2200: disallow direct scanning when device is down
The function ipw_request_direct_scan() should bail out when the device
is down. This fixes a lockup caused by wpa_supplicant triggering
ipw_request_direct_scan() while the driver was in a middle of a reset
due to firmware errors.
Thanks to Zilvinas Valinskas for reporting the bug and helping me
debug it.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arnaud Giersch [Sat, 12 Nov 2005 23:38:18 +0000 (00:38 +0100)]
[MIPS] IP32 Fix and complete IP32 parport definitions
Fix, complete, and indent IP32 parport definitions.
Definition were wrong for CTXINUSE and DMACTIVE (1-bit shift).
Add macros DATA_BOUND, DATALEN_SHIFT, and CTRSHIFT.