Jens Axboe [Mon, 10 Jul 2006 11:44:08 +0000 (04:44 -0700)]
[PATCH] cdrom: fix bad cgc.buflen assignment
The code really means to mask off the high bits, not assign 0xff.
Signed-off-by: Jens Axboe <axboe@suse.de>
Cc: Marcus Meissner <meissner@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jonathan Corbet [Mon, 10 Jul 2006 11:44:07 +0000 (04:44 -0700)]
[PATCH] VFS documentation tweak
As I was looking over the get_sb() changes, I stumbled across a little
mistake in the documentation updates. Unless we're getting into an
interesting new object-oriented realm, I doubt that get_sb() should really
return "struct int"...
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Urs Thuermann [Mon, 10 Jul 2006 11:44:06 +0000 (04:44 -0700)]
[PATCH] RCU Documentation fix
Updater should use _rcu variant of list_del().
Signed-off-by: Urs Thuermann <urs@isnogud.escape.de>
Acked-by: "Paul E. McKenney" <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arjan van de Ven [Mon, 10 Jul 2006 11:44:05 +0000 (04:44 -0700)]
[PATCH] put a comment at register_die_notifier that the export is used
{un}register_die_notifier() is used by kdb... document this so that future
"remove dead export" rounds can skip this export.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Mon, 10 Jul 2006 11:44:05 +0000 (04:44 -0700)]
[PATCH] lockdep: clean up completion initializer in smpboot.c
Clean up lockdep on-stack-completion initializer. (This also removes the
dependency on waitqueue_lock_key.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Mon, 10 Jul 2006 11:44:04 +0000 (04:44 -0700)]
[PATCH] lockdep: core, reduce per-lock class-cache size
lockdep_map is embedded into every lock, which blows up data structure
sizes all around the kernel. Reduce the class-cache to be for the default
class only - that is used in 99.9% of the cases and even if we dont have a
class cached, the lookup in the class-hash is lockless.
This change reduces the per-lock dep_map overhead by 56 bytes on 64-bit
platforms and by 28 bytes on 32-bit platforms.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arjan van de Ven [Mon, 10 Jul 2006 11:44:03 +0000 (04:44 -0700)]
[PATCH] lockdep: improve debug output
Make lockdep print which lock is held, in the "kfree() of a live lock"
scenario.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Mon, 10 Jul 2006 11:44:02 +0000 (04:44 -0700)]
[PATCH] lockdep: add more rwsem.h documentation
Add more documentation to rwsem.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen [Mon, 10 Jul 2006 11:44:01 +0000 (04:44 -0700)]
[PATCH] Minor cleanup to lockdep.c
- Use printk formatting for indentation
- Don't leave NTFS in the default event filter
Signed-off-by: Andi Kleen <ak@suse.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Mon, 10 Jul 2006 11:44:01 +0000 (04:44 -0700)]
[PATCH] fadvise: remove dead comments
Cc: "Michael Kerrisk" <mtk-manpages@gmx.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Peter Oberparleiter [Mon, 10 Jul 2006 11:44:00 +0000 (04:44 -0700)]
[PATCH] partitions: let partitions inherit policy from disk
Change the partition code in fs/partitions/check.c to initialize a newly
detected partition's policy field with that of the containing block device
(see patch below).
My reasoning is that function set_disk_ro() in block/genhd.c modifies the
policy field (read-only indicator) of a disk and all contained partitions.
When a partition is detected after the call to set_disk_ro(), the policy
field of this partition will currently not inherit the disk's policy field.
This behavior poses a problem in cases where a block device can be
'logically de- and reactivated' like e.g. the s390 DASD driver because
partition detection may run after the policy field has been modified.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Acked-by: Al Viro <viro@ftp.linux.org.uk>
Makes-sense-to: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Chuck Short [Mon, 10 Jul 2006 11:43:59 +0000 (04:43 -0700)]
[PATCH] Add Specialix IO8+ card support hotplug support
Patch Description:
Add "Specialix IO8+ card support" hotplug support
patch location:
http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=
d795cfc591bb44f6b3d86d8f054a227cecb44bb4
[akpm@osdl.org: cleanup]
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Chuck Short <zulcss@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Chuck Short [Mon, 10 Jul 2006 11:43:59 +0000 (04:43 -0700)]
[PATCH] Add Computone IntelliPort Plus serial hotplug support
Patch Description:
Add "Computone IntelliPort Plus serial" hotplug support
patch location:
http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=
8c36723187c0fa5efe0e5c6a9b1e66ed4b824792
[akpm@osdl.org: cleanup]
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Chuck Short <zulcss@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Horms [Mon, 10 Jul 2006 11:43:58 +0000 (04:43 -0700)]
[PATCH] nfs: Update Documentation/nfsroot.txt to include dhcp, syslinux and isolinux
* Document the ip command a little differently to make the
interaction between defaults and autoconfiguration a little clearer
(I hope)
* Update autoconfiguration the current set of options, including DHCP
* Update the boot methods to add syslinux and isolinux, and remove
dd of=/dev/fd0 which is no longer supported by linux
* Add a referance to initramfs along side initrd.
Should the latter and its document be removed some time soon?
* Various cleanups to put the text consistently into the thrid person
* Reformated a bit to fit into 80 columns a bit more nicely
* Should the bootloaders documentation be removed or split
into a separate documentation, it seems somewhat out of scope
Signed-off-by: Horms <horms@verge.net.au>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Hisashi Hifumi [Mon, 10 Jul 2006 11:43:56 +0000 (04:43 -0700)]
[PATCH] reiserfs: fix journaling issue regarding fsync()
When write() extends a file(i_size is increased) and fsync() is called,
change of inode must be written to journaling area through fsync().
But,currently the i_trans_id is not correctly updated when i_size is
increased. So fsync() does not kick the journal writer.
Reiserfs_file_write() already updates the transaction when blocks are
allocated, but the case when i_size increases and new blocks are not added
is not correctly treated.
Following patch fix this bug.
Signed-off-by: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: Chris Mason <mason@suse.com>
Cc: Hans Reiser <reiser@namesys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Eric Paris [Mon, 10 Jul 2006 11:43:55 +0000 (04:43 -0700)]
[PATCH] SELinux: add rootcontext= option to label root inode when mounting
Introduce a new rootcontext= option to FS mounting. This option will allow
you to explicitly label the root inode of an FS being mounted before that
FS or inode because visible to userspace. This was found to be useful for
things like stateless linux, see
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=190001
Signed-off-by: Eric Paris <eparis@parisplace.org>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Eric Paris [Mon, 10 Jul 2006 11:43:53 +0000 (04:43 -0700)]
[PATCH] SELinux: decouple fscontext/context mount options
Remove the conflict between fscontext and context mount options. If
context= is specified without fscontext it will operate just as before, if
both are specified we will use mount point labeling and all inodes will get
the label specified by context=. The superblock will be labeled with the
label of fscontext=, thus affecting operations which check the superblock
security context, such as associate permissions.
Signed-off-by: Eric Paris <eparis@parisplace.org>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andreas Mohr [Mon, 10 Jul 2006 11:43:52 +0000 (04:43 -0700)]
[PATCH] small kernel/sched.c cleanup
- constify and optimize stat_nam (thanks to Michael Tokarev!)
- spelling and comment fixes
Signed-off-by: Andreas Mohr <andi@lisas.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Peter Williams [Mon, 10 Jul 2006 11:43:51 +0000 (04:43 -0700)]
[PATCH] sched: fix bug in __migrate_task()
Problem:
In the function __migrate_task(), deactivate_task() followed by
activate_task() is used to move the task from one run queue to
another. This has two undesirable effects:
1. The task's priority is recalculated. (Nowhere else in the
scheduler code is the priority recalculated for a change of CPU.)
2. The task's time stamp is set to the current time. At the very least,
this makes the adjustment of the time stamp before the call to
deactivate_task() redundant but I believe the problem is more serious
as the time stamp now holds the time of the queue change instead of
the time at which the task was woken. In addition, unless dest_rq is
the same queue as "current" is on the time stamp could be inaccurate
due to inter CPU drift.
Solution:
Replace the call to activate_task() with one to __activate_task().
Signed-off-by: Peter Williams <pwil3058@bigpond.net.au>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Mon, 10 Jul 2006 11:43:50 +0000 (04:43 -0700)]
[PATCH] count_vm_events() fix
Dopey bug. Causes hopelessly-wrong numbers from vmstat(8) and several other
counters.
Cc: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Mon, 10 Jul 2006 11:43:49 +0000 (04:43 -0700)]
[PATCH] x86_64: e820.c needs pgtable.h
arch/x86_64/kernel/e820.c:42: error: 'MAXMEM' undeclared here (not in a function)
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Mon, 10 Jul 2006 11:43:48 +0000 (04:43 -0700)]
[PATCH] don't select CONFIG_HOTPLUG
It's useful to be able to turn off CONFIG_HOTPLUG for compile-coverage testing
and for section-checking coverage. But a few things go and select
CONFIG_HOTPLUG, making it a royal PITA to turn the thing off.
It's only turnable offable if CONFIG_EMBEDDED anyway. So let's make those
things depend on HOTPLUG, not select it.
Cc: Greg KH <greg@kroah.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephane Eranian [Mon, 10 Jul 2006 01:12:39 +0000 (21:12 -0400)]
[PATCH] i386: use thread_info flags for debug regs and IO bitmaps
Use thread info flags to track use of debug registers and IO bitmaps.
- add TIF_DEBUG to track when debug registers are active
- add TIF_IO_BITMAP to track when I/O bitmap is used
- modify __switch_to() to use the new TIF flags
Performance tested on Pentium II, ten runs of LMbench context switch
benchmark (smaller is better:)
before after
avg 3.65 3.39
min 3.55 3.33
Signed-off-by: Stephane Eranian <eranian@hpl.hp.com>
Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sun, 9 Jul 2006 22:50:41 +0000 (15:50 -0700)]
Merge commit /linux/kernel/git/davem/net-2.6 of HEAD
* HEAD:
[AX.25]: Use kzalloc
[ATM] net/atm/clip.c: fix PROC_FS=n compile
[PKT_SCHED]: act_api: Fix module leak while flushing actions
[NET]: Fix IPv4/DECnet routing rule dumping
[NET] gso: Fix up GSO packets with broken checksums
[NET] gso: Add skb_is_gso
[IRDA]: fix drivers/net/irda/ali-ircc.c:ali_ircc_init()
[ATM]: fix possible recursive locking in skb_migrate()
[ATM]: Typo in drivers/atm/Kconfig...
[TG3]: add amd8131 to "write reorder" chipsets
[NET]: Fix network device interface printk message priority
Linus Torvalds [Sun, 9 Jul 2006 22:50:06 +0000 (15:50 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (23 commits)
[PATCH] 8139too deadlock fix
[netdrvr] 3c59x: snip changelog from source code
e1000: increase version to 7.1.9-k2
e1000: add ich8lan device ID's
e1000: allow user to disable ich8 lock loss workaround
e1000: integrate ich8 support into driver
e1000: add ich8lan core functions
e1000: disable ERT
e1000: check return value of _get_speed_and_duplex
e1000: M88 PHY workaround
e1000: fix adapter led blinking inconsistency
e1000: disable CRC stripping workaround
e1000: force register write flushes to circumvent broken platforms
e1000: rework module param code with uninitialized values
e1000: recycle skb
e1000: change printk into DPRINTK
e1000: add smart power down code
e1000: small performance tweak by removing double code
e1000: fix CONFIG_PM blocks
e1000: Make PHY powerup/down a function
...
Linus Torvalds [Sun, 9 Jul 2006 22:49:36 +0000 (15:49 -0700)]
Merge branch 'blktrace' of git://brick.kernel.dk/data/git/linux-2.6-block
* 'blktrace' of git://brick.kernel.dk/data/git/linux-2.6-block:
[PATCH] Only the first two bits in bio->bi_rw and rq->flags match
[PATCH] blktrace: readahead support
[PATCH] blktrace: fix barrier vs sync typo
Ralf Baechle [Sun, 9 Jul 2006 19:14:22 +0000 (12:14 -0700)]
[AX.25]: Use kzalloc
Replace kzalloc instead of kmalloc + memset.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Adrian Bunk [Sun, 9 Jul 2006 19:13:18 +0000 (12:13 -0700)]
[ATM] net/atm/clip.c: fix PROC_FS=n compile
This patch fixes the following compile error with CONFIG_PROC_FS=n by
reverting commit
dcdb02752ff13a64433c36f2937a58d93ae7a19e:
<-- snip -->
...
CC net/atm/clip.o
net/atm/clip.c: In function ‘atm_clip_init’:
net/atm/clip.c:975: error: ‘atm_proc_root’ undeclared (first use in this function)
net/atm/clip.c:975: error: (Each undeclared identifier is reported only once
net/atm/clip.c:975: error: for each function it appears in.)
net/atm/clip.c:977: error: ‘arp_seq_fops’ undeclared (first use in this function)
make[2]: *** [net/atm/clip.o] Error 1
<-- snip -->
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Sun, 9 Jul 2006 18:36:23 +0000 (11:36 -0700)]
[PKT_SCHED]: act_api: Fix module leak while flushing actions
Module reference needs to be given back if message header
construction fails.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Sun, 9 Jul 2006 15:47:46 +0000 (08:47 -0700)]
Revert "ACPI: dock driver"
This reverts commit
a5e1b94008f2a96abf4a0c0371a55a56b320c13e.
Adrian Bunk points out that it has build errors, and apparently no
maintenance. Throw it out.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sat, 8 Jul 2006 22:24:18 +0000 (15:24 -0700)]
i386: improve and correct inline asm memory constraints
Use "+m" rather than a combination of "=m" and "m" for improved clarity
and consistency.
This also fixes some inlines that incorrectly didn't tell the compiler
that they read the old value at all, potentially causing the compiler to
generate bogus code. It appear that all of those potential bugs were
hidden by the use of extra "volatile" specifiers on the data structures
in question, though.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sat, 8 Jul 2006 22:00:28 +0000 (15:00 -0700)]
power: improve inline asm memory constraints
Use "+m" rather than a combination of "=m" and "m" for improved
clarity and consistency.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Patrick McHardy [Sat, 8 Jul 2006 20:38:55 +0000 (13:38 -0700)]
[NET]: Fix IPv4/DECnet routing rule dumping
When more rules are present than fit in a single skb, the remaining
rules are incorrectly skipped.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sat, 8 Jul 2006 20:34:56 +0000 (13:34 -0700)]
[NET] gso: Fix up GSO packets with broken checksums
Certain subsystems in the stack (e.g., netfilter) can break the partial
checksum on GSO packets. Until they're fixed, this patch allows this to
work by recomputing the partial checksums through the GSO mechanism.
Once they've all been converted to update the partial checksum instead of
clearing it, this workaround can be removed.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Sat, 8 Jul 2006 20:34:32 +0000 (13:34 -0700)]
[NET] gso: Add skb_is_gso
This patch adds the wrapper function skb_is_gso which can be used instead
of directly testing skb_shinfo(skb)->gso_size. This makes things a little
nicer and allows us to change the primary key for indicating whether an skb
is GSO (if we ever want to do that).
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Adrian Bunk [Sat, 8 Jul 2006 20:33:28 +0000 (13:33 -0700)]
[IRDA]: fix drivers/net/irda/ali-ircc.c:ali_ircc_init()
The Coverity checker spotted, that from the changes from commit
898b1d16f8230fb912a0c2248df685735c6ceda3 the
if (ret)
platform_driver_unregister(&ali_ircc_driver);
was dead code.
This patch changes this function to what seems to have been the
intention.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Arjan van de Ven [Sat, 8 Jul 2006 20:30:52 +0000 (13:30 -0700)]
[ATM]: fix possible recursive locking in skb_migrate()
ok this is a real potential deadlock in a way, it takes two locks of 2
skbuffs without doing any kind of lock ordering; I think the following
patch should fix it. Just sort the lock taking order by address of the
skb.. it's not pretty but it's the best this can do in a minimally
invasive way.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt LaPlante [Sat, 8 Jul 2006 20:30:09 +0000 (13:30 -0700)]
[ATM]: Typo in drivers/atm/Kconfig...
From: Matt LaPlante <kernel1@cyberdogtech.com>
Signed-off-by: Charles Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
John W. Linville [Sat, 8 Jul 2006 20:28:53 +0000 (13:28 -0700)]
[TG3]: add amd8131 to "write reorder" chipsets
Add the AMD 8131 bridge to the list of chipsets that reorder writes.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 7 Jul 2006 23:54:05 +0000 (16:54 -0700)]
[NET]: Fix network device interface printk message priority
The printk's in the network device interface code should all be tagged
with severity.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dave Jones [Fri, 7 Jul 2006 16:31:27 +0000 (12:31 -0400)]
[PATCH] Fix cpufreq vs hotplug lockdep recursion.
[ There's some not quite baked bits in cpufreq-git right now
so sending this on as a patch instead ]
On Thu, 2006-07-06 at 07:58 -0700, Tom London wrote:
> After installing .2356 I get this each time I boot:
> =======================================================
> [ INFO: possible circular locking dependency detected ]
> -------------------------------------------------------
> S06cpuspeed/1620 is trying to acquire lock:
> (dbs_mutex){--..}, at: [<
c060d6bb>] mutex_lock+0x21/0x24
>
> but task is already holding lock:
> (cpucontrol){--..}, at: [<
c060d6bb>] mutex_lock+0x21/0x24
>
> which lock already depends on the new lock.
>
make sure the cpu hotplug recursive mutex (yuck) is taken early in the
cpufreq codepaths to avoid a AB-BA deadlock.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Garzik [Thu, 6 Jul 2006 17:07:32 +0000 (13:07 -0400)]
Merge branch 'master' into upstream
Jens Axboe [Thu, 6 Jul 2006 08:18:05 +0000 (10:18 +0200)]
[PATCH] Only the first two bits in bio->bi_rw and rq->flags match
Not three, as assumed. This causes the barrier bit to be needlessly set
for some IO.
Signed-off-by: Jens Axboe <axboe@suse.de>
Nathan Scott [Thu, 6 Jul 2006 08:03:28 +0000 (10:03 +0200)]
[PATCH] blktrace: readahead support
Provide the needed kernel support for distinguishing readahead
from regular read requests when tracing block devices.
Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
Nathan Scott [Thu, 6 Jul 2006 07:56:30 +0000 (09:56 +0200)]
[PATCH] blktrace: fix barrier vs sync typo
Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
Linus Torvalds [Thu, 6 Jul 2006 04:09:49 +0000 (21:09 -0700)]
Linux 2.6.18-rc1
It's all good.
Linus Torvalds [Thu, 6 Jul 2006 04:08:43 +0000 (21:08 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[PKT_SCHED]: Fix error handling while dumping actions
[PKT_SCHED]: Return ENOENT if action module is unavailable
[PKT_SCHED]: Fix illegal memory dereferences when dumping actions
Linus Torvalds [Thu, 6 Jul 2006 04:08:35 +0000 (21:08 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Fix stack overflow checking in modular non-SMP kernels.
[SPARC64]: Fix sparc64 build errors when CONFIG_PCI=n.
Thomas Graf [Thu, 6 Jul 2006 03:47:28 +0000 (20:47 -0700)]
[PKT_SCHED]: Fix error handling while dumping actions
"return -err" and blindly inheriting the error code in the netlink
failure exception handler causes errors codes to be returned as
positive value therefore making them being ignored by the caller.
May lead to sending out incomplete netlink messages.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Thu, 6 Jul 2006 03:45:57 +0000 (20:45 -0700)]
[PKT_SCHED]: Return ENOENT if action module is unavailable
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Graf [Thu, 6 Jul 2006 03:45:06 +0000 (20:45 -0700)]
[PKT_SCHED]: Fix illegal memory dereferences when dumping actions
The TCA_ACT_KIND attribute is used without checking its
availability when dumping actions therefore leading to a
value of 0x4 being dereferenced.
The use of strcmp() in tc_lookup_action_n() isn't safe
when fed with string from an attribute without enforcing
proper NUL termination.
Both bugs can be triggered with malformed netlink message
and don't require any privileges.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Mikael Pettersson [Thu, 6 Jul 2006 03:42:58 +0000 (20:42 -0700)]
[SPARC64]: Fix stack overflow checking in modular non-SMP kernels.
The sparc64 kernel's EXPORT_SYMBOL(_mcount) is inside an
#ifdef CONFIG_SMP. This breaks modules in non-SMP kernels
built with stack overflow checking (CONFIG_STACK_DEBUG=y),
as modules_install reports:
WARNING: /lib/modules/2.6.17/kernel/drivers/ide/ide-cd.ko needs unknown symbol _mcount
Trivially fixed by moving EXPORT_SYMBOL(_mcount) outside of
the #ifdef CONFIG_SMP.
Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Thu, 6 Jul 2006 03:19:30 +0000 (20:19 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PCI] Add JMicron PCI ID constants
[PATCH] ahci: Ensure that we don't grab both functions
[PATCH] libata-core.c: restore configuration boot messages in ata_dev_configure(), v2
[PATCH] sata_sil24: add suspend/sleep support
[PATCH] sata_sil24: separate out sil24_init_controller()
[PATCH] sata_sil: add suspend/sleep support
[PATCH] sata_sil: separate out sil_init_controller()
[PATCH] libata: reimplement controller-wide PM
[PATCH] libata: reimplement per-dev PM
[PATCH] libata: implement PM EH actions
[PATCH] libata: separate out __ata_ehi_hotplugged()
[PATCH] libata: implement ATA_EHI_NO_AUTOPSY and QUIET
[PATCH] libata: clean up debounce parameters and improve parameter selection
[PATCH] libata: implement ATA_EHI_RESUME_LINK
[PATCH] libata: replace ap_lock w/ ap->lock in ata_scsi_error()
[PATCH] libata: fix ehc->i.action setting in ata_eh_autopsy()
[PATCH] libata: add ap->pflags and move core dynamic flags to it
[PATCH] libata: Conditionally set host->max_cmd_len
[PATCH] sata_vsc: data_xfer should use mmio
Randy Dunlap [Thu, 6 Jul 2006 03:18:39 +0000 (20:18 -0700)]
[SPARC64]: Fix sparc64 build errors when CONFIG_PCI=n.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Garzik [Thu, 6 Jul 2006 03:02:48 +0000 (23:02 -0400)]
[PCI] Add JMicron PCI ID constants
They will be used in several IDE/libata files.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
root [Thu, 6 Jul 2006 02:58:20 +0000 (22:58 -0400)]
[PATCH] ahci: Ensure that we don't grab both functions
When we force the chip into dual fn mode so we get PATA and AHCI we must
be sure we don't then do anything dumb like try and grab both with the AHCI
driver.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Borislav Petkov [Tue, 27 Jun 2006 12:51:25 +0000 (14:51 +0200)]
[PATCH] libata-core.c: restore configuration boot messages in ata_dev_configure(), v2
This one looks better, IMHO.
This restores the default libata configuration messages printed during booting.
Signed-off-by: <petkov@math.uni-muenster.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:27 +0000 (16:07 +0900)]
[PATCH] sata_sil24: add suspend/sleep support
Add suspend/sleep support.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:27 +0000 (16:07 +0900)]
[PATCH] sata_sil24: separate out sil24_init_controller()
Separate out controller initialization from sil24_init_one() into
sil24_init_controller(). This will be used by resume.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:27 +0000 (16:07 +0900)]
[PATCH] sata_sil: add suspend/sleep support
Add suspend/sleep support.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:27 +0000 (16:07 +0900)]
[PATCH] sata_sil: separate out sil_init_controller()
Separate out controller initialization from sil_init_one() into
sil_init_controller(). This will be used by resume.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:27 +0000 (16:07 +0900)]
[PATCH] libata: reimplement controller-wide PM
Reimplement controller-wide PM. ata_host_set_suspend/resume() are
defined to suspend and resume a host_set. While suspended, EHs for
all ports in the host_set are pegged using ATA_FLAG_SUSPENDED and
frozen.
Because SCSI device hotplug is done asynchronously against the rest of
libata EH and the same mutex is used when adding new device, suspend
cannot wait for hotplug to complete. So, if SCSI device hotplug is in
progress, suspend fails with -EBUSY.
In most cases, host_set resume is followed by device resume. As each
resume operation requires a reset, a single host_set-wide resume
operation may result in multiple resets. To avoid this, resume waits
upto 1 second giving PM to request resume for devices.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:26 +0000 (16:07 +0900)]
[PATCH] libata: reimplement per-dev PM
Reimplement per-dev PM. The original implementation directly put the
device into suspended mode and didn't synchronize w/ EH operations
including hotplug. This patch reimplements ata_scsi_device_suspend()
and ata_scsi_device_resume() such that they request EH to perform the
respective operations. Both functions synchronize with hotplug such
that it doesn't operate on detached devices.
Suspend waits for completion but resume just issues request and
returns. This allows parallel wake up of devices and thus speeds up
system resume.
Due to sdev detach synchronization, it's not feasible to separate out
EH requesting from sdev handling; thus, ata_device_suspend/resume()
are removed and everything is implemented in the respective
libata-scsi functions.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:26 +0000 (16:07 +0900)]
[PATCH] libata: implement PM EH actions
Implement two PM per-dev EH actions - ATA_EH_SUSPEND and
ATA_EH_RESUME. Each action puts the target device into suspended mode
and resumes from it respectively.
Once a device is put to suspended mode, no EH operations other than
RESUME is allowed on the device. The device will stay suspended till
it gets resumed and thus reset and revalidated. To implement this, a
new device state helper - ata_dev_ready() - is implemented and used in
EH action implementations to make them operate only on attached &
running devices.
If all possible devices on a port are suspended, reset is skipped too.
This prevents spurious events including hotplug events from disrupting
suspended devices.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:26 +0000 (16:07 +0900)]
[PATCH] libata: separate out __ata_ehi_hotplugged()
Separate out __ata_ehi_hotplugged() from ata_ehi_hotplugged(). The
underscored version doesn't set AC_ERR_ATA_BUS. This will be used for
resume which is a hotplug event but not an ATA bus error.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:26 +0000 (16:07 +0900)]
[PATCH] libata: implement ATA_EHI_NO_AUTOPSY and QUIET
Implement ATA_EHI_NO_AUTOPSY and QUIET. These used to be implied by
ATA_PFLAG_LOADING, but new power management and PMP support need to
use these separately. e.g. Suspend/resume operations shouldn't print
full EH messages and resume shouldn't be recorded as an error.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:26 +0000 (16:07 +0900)]
[PATCH] libata: clean up debounce parameters and improve parameter selection
The names of predefined debounce timing parameters didn't exactly
match their usages. Rename to more generic names and implement param
selection helper sata_ehc_deb_timing() which uses EHI_HOTPLUGGED to
select params.
Combined with the previous EHI_RESUME_LINK differentiation, this makes
parameter selection accurate. e.g. user scan resumes link but normal
deb param is used instead of hotplug param.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Mon, 3 Jul 2006 07:07:26 +0000 (16:07 +0900)]
[PATCH] libata: implement ATA_EHI_RESUME_LINK
Implement ATA_EHI_RESUME_LINK, which indicates that the link needs to
be resumed. This used to be implied by ATA_EHI_HOTPLUGGED. However,
hotplug isn't the only event which requires link resume and separating
this out allows other places to request link resume. This
differentiation also allows better debounce timing selection.
This patch converts user scan to use ATA_EHI_RESUME_LINK.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Sun, 2 Jul 2006 18:02:15 +0000 (03:02 +0900)]
[PATCH] libata: replace ap_lock w/ ap->lock in ata_scsi_error()
ap_lock was used because &ap->host_set->lock was too long and used a
lot. Now that &ap->host_set->lock is replaced with ap->lock, there's
no reason to keep ap_lock.
[ed. note: that's not entirely true. ap_lock is a local variable,
caching the results of a de-ref. In theory, if the compiler is smart
enough, this patch is cosmetic. However, since this is not a fast
path (it is the error path), this patch is nonetheless acceptable,
even though it _may_ introduce a performance regression.]
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Sun, 2 Jul 2006 17:54:58 +0000 (02:54 +0900)]
[PATCH] libata: fix ehc->i.action setting in ata_eh_autopsy()
ata_eh_autopsy() used to directly assign determined action mask to
ehc->i.action thus overriding actions set by some of nested analyze
functions. This patch makes ata_eh_autopsy() add action masks just as
it's done in other places.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Wed, 28 Jun 2006 16:29:30 +0000 (01:29 +0900)]
[PATCH] libata: add ap->pflags and move core dynamic flags to it
ap->flags is way too clamped. Separate out core dynamic flags to
ap->pflags. ATA_FLAG_DISABLED is a dynamic flag but left alone as
it's referenced by a lot of LLDs and it's gonna be removed once all
LLDs are converted to new EH.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brian King [Wed, 28 Jun 2006 13:30:31 +0000 (08:30 -0500)]
[PATCH] libata: Conditionally set host->max_cmd_len
In preparation for SAS attached SATA devices, which will
not have a libata scsi_host, only setup host->max_cmd_len
if ap->host exists.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Martin Hicks [Wed, 28 Jun 2006 16:17:47 +0000 (12:17 -0400)]
[PATCH] sata_vsc: data_xfer should use mmio
Hi,
sata_vsc is an MMIO device, and should use the correct data_xfer
function. This problem was introduced by:
commit
a6b2c5d4754dc539a560fdf0d3fb78a14174394a
Author: Alan Cox <alan@lxorguk.ukuu.org.uk>
Date: Mon May 22 16:59:59 2006 +0100
[PATCH] PATCH: libata. Add ->data_xfer method
Signed-off-by: Martin Hicks <mort@bork.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Linus Torvalds [Wed, 5 Jul 2006 20:05:15 +0000 (13:05 -0700)]
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6
* git://git.linux-nfs.org/pub/linux/nfs-2.6:
NLM,NFSv4: Wait on local locks before we put RPC calls on the wire
VFS: Add support for the FL_ACCESS flag to flock_lock_file()
NFSv4: Ensure nfs4_lock_expired() caches delegated locks
NLM,NFSv4: Don't put UNLOCK requests on the wire unless we hold a lock
VFS: Allow caller to determine if BSD or posix locks were actually freed
NFS: Optimise away an excessive GETATTR call when a file is symlinked
This fixes a panic doing the first READDIR or READDIRPLUS call when:
NFS: Fix NFS page_state usage
Revert "Merge branch 'odirect'"
Linus Torvalds [Wed, 5 Jul 2006 20:03:18 +0000 (13:03 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 3711/1: AT91 timer update
[ARM] 3709/1: pnx4008: convert to generic irq subsystem
[ARM] 3710/1: AT91 Serial: Use GPIO API
Linus Torvalds [Wed, 5 Jul 2006 20:02:56 +0000 (13:02 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (39 commits)
[PATCH] myri10ge - Export more parameters to ethtool
[PATCH] myri10ge - Use dev_info() when printing parameters after probe
[PATCH] myri10ge - Drop ununsed nvidia chipset id
[PATCH] myri10ge - Drop unused pm_state
[PATCH] Fix freeing of net device
[PATCH] remove dead entry in net wan Kconfig
[PATCH] NI5010 netcard cleanup
[PATCH] lock validator: fix ns83820.c irq-flags bug
[PATCH] pcnet32: Cleanup rx buffers after loopback test.
[PATCH] pcnet32: Suspend the chip rather than restart when changing multicast/promisc
[PATCH] pcnet32: Handle memory allocation failures cleanly when resizing tx/rx rings
[PATCH] pcnet32: Use kcalloc instead of kmalloc and memset
[PATCH] pcnet32: Fix off-by-one in get_ringparam
[PATCH] pcnet32: Use PCI_DEVICE macro
[PATCH] pcnet32: Fix Section mismatch error
[PATCH] Add support for the Cicada 8201 PHY
[PATCH] zd1211rw: disable TX queue during stop
[PATCH] ZyDAS ZD1211 USB-WLAN driver
[PATCH] softmac: fix build-break from
881ee6999d66c8fc903b429b73bbe6045b38c549
[PATCH] CONFIG_WIRELESS_EXT is neccessary after all
...
Jeff Garzik [Wed, 5 Jul 2006 18:32:39 +0000 (14:32 -0400)]
Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into upstream
Conflicts:
drivers/net/e1000/e1000_main.c
Arjan van de Ven [Wed, 5 Jul 2006 13:00:40 +0000 (15:00 +0200)]
[PATCH] 8139too deadlock fix
> stack backtrace:
> [<
f9099d31>] rtl8139_start_xmit+0xd9/0xff [8139too]
> [<
c11ad5ea>] netpoll_send_skb+0x98/0xea
This seems to be a real deadlock...
So netpoll_send_skb takes the _xmit_lock, which is all nitty gritty
but then rtl8139_start_xmit comes around while that lock is taken, and
does
spin_unlock_irq(&tp->lock);
which.. enables interrupts and softirqs; this is quite bad because the
xmit lock is taken in softirq context for the watchdog like this:
[<
c1200376>] _spin_lock+0x23/0x32
[<
c11af282>] dev_watchdog+0x14/0xb1
[<
c101dab2>] run_timer_softirq+0xf2/0x14a
[<
c101a691>] __do_softirq+0x55/0xb0
[<
c1004a8d>] do_softirq+0x58/0xbd
Which would deadlock now that the spin_unlock_irq() has enabled
irqs/softirqs while the _xmit_lock is still held.
The patch below turns this into a irqsave/irqrestore pair so that
interrupts don't get enabled unconditionally.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 5 Jul 2006 18:28:34 +0000 (14:28 -0400)]
[netdrvr] 3c59x: snip changelog from source code
Driver source code is not the preferred place to store change history.
Acked-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brice Goglin [Mon, 3 Jul 2006 22:16:46 +0000 (18:16 -0400)]
[PATCH] myri10ge - Export more parameters to ethtool
Add the IRQ line, the tx_boundary, and whether Write-combining and MSI
are enabled to the list of parameters that are exported to ethtool.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brice Goglin [Mon, 3 Jul 2006 22:41:30 +0000 (18:41 -0400)]
[PATCH] myri10ge - Use dev_info() when printing parameters after probe
Displaying the interface name when listing the device parameters
at the end of myri10ge_probe is not a good idea since udev might
rename the interface soon afterwards.
Print the bus id instead, using dev_info().
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
brice@myri.com [Mon, 3 Jul 2006 22:02:32 +0000 (18:02 -0400)]
[PATCH] myri10ge - Drop ununsed nvidia chipset id
The workaround for the AER capability of the nVidia chipset has been
removed, we don't need this PCI id anymore. Drop it.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
brice@myri.com [Mon, 3 Jul 2006 22:02:31 +0000 (18:02 -0400)]
[PATCH] myri10ge - Drop unused pm_state
The pm_state field in the myri10ge_priv structure is unused. Drop it.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Ralf Baechle [Fri, 30 Jun 2006 12:56:13 +0000 (13:56 +0100)]
[PATCH] Fix freeing of net device
Plus optical sugar.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Paul Fulghum [Fri, 30 Jun 2006 09:27:19 +0000 (02:27 -0700)]
[PATCH] remove dead entry in net wan Kconfig
Remove dead entry from net wan Kconfig and net wan Makefile.. This entry is
left over from 2.4 where synclink used syncppp driver directly. synclink
drivers now use generic HDLC
Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Andreas Mohr [Fri, 30 Jun 2006 09:25:07 +0000 (02:25 -0700)]
[PATCH] NI5010 netcard cleanup
- updated MAINTAINERS entry to new format
- updated Jan-Pascal's (ACKed) and my email address
- driver cleanup/modernization (runtime-, not hardware-tested)
[bunk@stusta.de: build fix]
Signed-off-by: Andreas Mohr <andi@lisas.de>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Jan-Pascal van Best <jvbest@qv3pluto.leidenuniv.nl>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Ingo Molnar [Fri, 30 Jun 2006 09:25:06 +0000 (02:25 -0700)]
[PATCH] lock validator: fix ns83820.c irq-flags bug
Barry K. Nathan reported the following lockdep warning:
[ 197.343948] BUG: warning at kernel/lockdep.c:1856/trace_hardirqs_on()
[ 197.345928] [<
c010329b>] show_trace_log_lvl+0x5b/0x105
[ 197.346359] [<
c0103896>] show_trace+0x1b/0x20
[ 197.346759] [<
c01038ed>] dump_stack+0x1f/0x24
[ 197.347159] [<
c012efa2>] trace_hardirqs_on+0xfb/0x185
[ 197.348873] [<
c029b009>] _spin_unlock_irq+0x24/0x2d
[ 197.350620] [<
e09034e8>] do_tx_done+0x171/0x179 [ns83820]
[ 197.350895] [<
e090445c>] ns83820_irq+0x149/0x20b [ns83820]
[ 197.351166] [<
c013b4b8>] handle_IRQ_event+0x1d/0x52
[ 197.353216] [<
c013c6c2>] handle_level_irq+0x97/0xe1
[ 197.355157] [<
c01048c3>] do_IRQ+0x8b/0xac
[ 197.355612] [<
c0102d9d>] common_interrupt+0x25/0x2c
this is caused because the ns83820 driver re-enables irq flags
in hardirq context.
While legal in theory, in practice it should only be done if the
hardware is really old and has some very high overhead in its ISR.
(such as PIO IDE)
For modern hardware, running ISRs with irqs enabled is discouraged,
because 1) new hardware is fast enough to not cause latency problems
2) allowing the nesting of hardware interrupts only 'spreads out'
the handling of the current ISR, causing extra cachemisses that would
otherwise not happen. Furthermore, on architectures where ISRs share
the kernel stacks, enabling interrupts in ISRs introduces a much
higher kernel-stack-nesting and thus kernel-stack-overflow risk.
3) not managing irq-flags via the _irqsave / _irqrestore variants
is dangerous: it's easy to forget whether one function nests inside
another, and irq flags might be mismanaged.
In the few cases where re-enabling interrupts in an ISR is considered
useful (and unavoidable), it has to be taught to the lock validator
explicitly (because the lock validator needs the "no ISR ever enables
hardirqs" artificial simplification to keep the IRQ/softirq locking
dependencies manageable).
This teaching is done via the explicit use local_irq_enable_in_hardirq().
On a stock kernel this maps to local_irq_enable(). If the lock validator
is enabled then this does not enable interrupts.
Now, the analysis of drivers/net/ns83820.c's irq flags use: the
irq-enabling in irq context seems intentional, but i dont think it's
justified. Furthermore, the driver suffers from problem #3 above too,
in ns83820_tx_timeout() it disables irqs via local_irq_save(), but
then it calls do_tx_done() which does a spin_unlock_irq(),
re-enabling for a function that does not expect it! While currently
this bug seems harmless (only some debug printout seems to be
affected by it), it's nevertheless something to be fixed.
So this patch makes the ns83820 ISR irq-flags-safe, and cleans up
do_tx_done() use and locking to avoid the ns83820_tx_timeout() bug.
From: Arjan van de Ven <arjan@linux.intel.com>
ns83820_mib_isr takes the misc_lock in IRQ context. All other places that
do this in the ISR already use _irqsave versions, make this consistent at
least. At some point in the future someone should audit the driver to see
if all _irqsave's in the ISR can go away, this is generally an iffy/fragile
proposition though; for now get it safe, simple and consistent.
From: Arjan van de Ven <arjan@linux.intel.com>
ok this is a real driver deadlock:
The ns83820 driver enabled interrupts (by unlocking the misc_lock with
_irq) while still holding the rx_info.lock, which is required to be irq
safe since it's used in the ISR like this:
writel(1, dev->base + IER);
spin_unlock_irq(&dev->misc_lock);
kick_rx(ndev);
spin_unlock_irq(&dev->rx_info.lock);
This is can cause a deadlock if an irq was pending at the first
spin_unlock_irq already, or if one would hit during kick_rx().
Simply remove the first _irq solves this
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:55:27 +0000 (13:55 -0700)]
[PATCH] pcnet32: Cleanup rx buffers after loopback test.
More cleanup to pcnet32_loopback_test to release receive buffers if
device is not up. Created common routine to free rx buffers.
Tested ia32 and ppc64
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:55:02 +0000 (13:55 -0700)]
[PATCH] pcnet32: Suspend the chip rather than restart when changing multicast/promisc
Suspend the chip if possible rather than stop and discard all tx and rx
frames, when changing the mcast list or entering/leaving promiscuous
mode. Created common pcnet32_suspend routine.
Tested ia32 and ppc64
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:54:38 +0000 (13:54 -0700)]
[PATCH] pcnet32: Handle memory allocation failures cleanly when resizing tx/rx rings
Fix pcnet32_set_ringparam to handle memory allocation errors without
leaving the adapter in an inoperative state and null pointers waiting to
be dereferenced.
Tested ia32 and ppc64.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:53:48 +0000 (13:53 -0700)]
[PATCH] pcnet32: Use kcalloc instead of kmalloc and memset
On 2006-03-08 Eric Sesterhenn wrote:
converts drivers/net to kzalloc usage.
Don Fry modified it to use netif_msg_drv. Tested ia32 and ppc64.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:53:23 +0000 (13:53 -0700)]
[PATCH] pcnet32: Fix off-by-one in get_ringparam
Fix off-by-one in pcnet32_get_ringparam
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:52:58 +0000 (13:52 -0700)]
[PATCH] pcnet32: Use PCI_DEVICE macro
Jon Mason wrote on Thu, 12 Jan 2006 17:07:49 -0600:
This patch adds the PCI_DEVICE macro to the pcnet32 driver.
This has been tested on my opteron with my "trident" adapter.
Don Fry modified it slightly and tested on ia32 and ppc64.
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 29 Jun 2006 20:52:29 +0000 (13:52 -0700)]
[PATCH] pcnet32: Fix Section mismatch error
Fix Section mismatch error. Tested ia32 and ppc64.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Kim Phillips [Thu, 29 Jun 2006 02:13:23 +0000 (21:13 -0500)]
[PATCH] Add support for the Cicada 8201 PHY
Add support for the Cicada 8201 PHY, a.k.a Vitesse VSC8201. This PHY is present on the MPC8349mITX.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Daniel Drake [Sun, 11 Jun 2006 22:18:54 +0000 (23:18 +0100)]
[PATCH] zd1211rw: disable TX queue during stop
This avoids some potential races.
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Daniel Drake [Fri, 2 Jun 2006 16:11:32 +0000 (17:11 +0100)]
[PATCH] ZyDAS ZD1211 USB-WLAN driver
There are 60+ USB wifi adapters available on the market based on the ZyDAS
ZD1211 chip.
Unlike the predecessor (ZD1201), ZD1211 does not have a hardware MAC, so most
data operations are coordinated by the device driver. The ZD1211 chip sits
alongside an RF transceiver which is also controlled by the driver. Our driver
currently supports 2 RF types, we know of one other available in a few marketed
products which we will be supporting soon.
Our driver also supports the newer revision of ZD1211, called ZD1211B. The
initialization and RF operations are slightly different for the new revision,
but the main difference is 802.11e support. Our driver does not support the
QoS features yet, but we think we know how to use them.
This driver is based on ZyDAS's own GPL driver available from www.zydas.com.tw.
ZyDAS engineers have been responsive and supportive of our efforts, so thumbs
up to them. Additionally, the firmware is redistributable and they have
provided device specs.
This driver has been written primarily by Ulrich Kunitz and myself. Graham
Gower, Greg KH, Remco and Bryan Rittmeyer have also contributed. The
developers of ieee80211 and softmac have made our lives so much easier- thanks!
We maintain a small info-page: http://zd1211.ath.cx/wiki/DriverRewrite
If there is enough time for review, we would like to aim for inclusion in
2.6.18. The driver works nicely as a STA, and can connect to both open and
encrypted networks (we are using software-based encryption for now). We will
work towards supporting more advanced features in the future (ad-hoc, master
mode, 802.11a, ...).
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Mon, 26 Jun 2006 20:34:29 +0000 (16:34 -0400)]
[PATCH] softmac: fix build-break from
881ee6999d66c8fc903b429b73bbe6045b38c549
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Horms [Mon, 26 Jun 2006 08:44:38 +0000 (17:44 +0900)]
[PATCH] CONFIG_WIRELESS_EXT is neccessary after all
WARNING: /lib/modules/2.6.17-mm2/kernel/net/ieee80211/ieee80211.ko
needs unknown symbol wireless_spy_update
Someone removed the `#ifdef CONFIG_WIRELESS_EXT' from around the callsite
in net/ieee80211/ieee80211_rx.c and didn't update Kconfig appropriately.
The offending patchset seems to be
35c14b855f52c49e4f3d078b9532b056005ed321
which is tittled
[PATCH] ieee80211: remove unnecessary CONFIG_WIRELESS_EXT checking
After a quick look it seems that wireless_spy_update() lives in
net/core/wirless.c, and that file is only compiled if
CONFIG_WIRELESS_EXT is set. Perhaps this is Kconig work, but
in the mean time here is a reversal of the recent change.
Signed-Off-By: Horms <horms@verge.net.au>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Joseph Jezak [Sun, 11 Jun 2006 16:01:03 +0000 (12:01 -0400)]
[PATCH] SoftMAC: Add network to ieee80211softmac_call_events when associate times out
The ieee80211softmac_call_events function, when called with event type
IEEE80211SOFTMAC_EVENT_ASSOCIATE_TIMEOUT should pass the network as the
third parameter. This patch does that.
Signed-off-by: Joseph Jezak <josejx@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>