linux-2.6
18 years ago[POWERPC] video & agp: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:40:40 +0000 (15:40 +1000)] 
[POWERPC] video & agp: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

powerpc-specific video & agp driver changes.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] powermac: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:40:29 +0000 (15:40 +1000)] 
[POWERPC] powermac: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

powermac platform & macintosh driver changes.

Built for pmac32_defconfig, g5_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] maple: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:40:17 +0000 (15:40 +1000)] 
[POWERPC] maple: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

maple platform changes.

Built for maple_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] chrp: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:40:05 +0000 (15:40 +1000)] 
[POWERPC] chrp: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

chrp platform changes.

Built for chrp32_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:39:54 +0000 (15:39 +1000)] 
[POWERPC] cell: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

cell platform changes.

Built for cell_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] mpc: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:39:42 +0000 (15:39 +1000)] 
[POWERPC] mpc: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

mpc* platform changes.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] iseries: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:39:42 +0000 (15:39 +1000)] 
[POWERPC] iseries: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

iseries platform changes.

Built for iseries_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] pseries: Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:39:43 +0000 (15:39 +1000)] 
[POWERPC] pseries: Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

pseries platform changes.

Built for pseries_defconfig

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Constify & voidify get_property()
Jeremy Kerr [Wed, 12 Jul 2006 05:35:54 +0000 (15:35 +1000)] 
[POWERPC] Constify & voidify get_property()

Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.

powerpc core changes.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] briq_panel Kconfig fix
Andrew Morton [Sun, 9 Jul 2006 05:38:56 +0000 (22:38 -0700)] 
[POWERPC] briq_panel Kconfig fix

drivers/char/briq_panel.c:28:22: error: asm/prom.h: No such file or directory

Cc: Jeremy Kerr <jk@ozlabs.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agoMerge branch 'mpe'
Stephen Rothwell [Fri, 14 Jul 2006 07:27:26 +0000 (17:27 +1000)] 
Merge branch 'mpe'

18 years ago[POWERPC] iseries: Move iommu_table_cb into platforms/iseries
Michael Ellerman [Fri, 14 Jul 2006 04:25:33 +0000 (14:25 +1000)] 
[POWERPC] iseries: Move iommu_table_cb into platforms/iseries

Although we pass the address of an iommu_table_cb to HvCallXm_getTceTableParms,
we don't actually need the structure definition anywhere except in the
iseries iommu code, so move the struct in there.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years agoMerge branch 'hvc_iseries'
Stephen Rothwell [Thu, 13 Jul 2006 09:05:50 +0000 (19:05 +1000)] 
Merge branch 'hvc_iseries'

18 years ago[POWERPC] iseries: Remove unnecessary include of iseries/hv_lp_event.h
Stephen Rothwell [Thu, 13 Jul 2006 08:56:56 +0000 (18:56 +1000)] 
[POWERPC] iseries: Remove unnecessary include of iseries/hv_lp_event.h

Also remove unnecessary reference to struct HvLpEvent.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Small viotape cleanup allowed by devfs removal
Stephen Rothwell [Thu, 13 Jul 2006 08:56:00 +0000 (18:56 +1000)] 
[POWERPC] iseries: Small viotape cleanup allowed by devfs removal

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] Make the hvc_console output buffer size settable
Stephen Rothwell [Thu, 13 Jul 2006 08:53:32 +0000 (18:53 +1000)] 
[POWERPC] Make the hvc_console output buffer size settable

So the iSeries console will be faster since it can send up to 200 bytes at
a time to the Hypervisor.  This only affects the tty part of the console,
the console writes are still in 16 byte lots.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: A new iSeries console
Stephen Rothwell [Thu, 13 Jul 2006 08:51:22 +0000 (18:51 +1000)] 
[POWERPC] iseries: A new iSeries console

This driver uses the hvc_console.c infrastructure that is used by the
pSeries virtual and RTAS consoles.  This will allow us to make viocons.c
obsolete and is another step along the way to a combined kernel (as
viocons could not coexist with CONFIG_VT).

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] Fix a compiler warning in mm/tlb_64.c
Michael Ellerman [Thu, 13 Jul 2006 07:54:44 +0000 (17:54 +1000)] 
[POWERPC] Fix a compiler warning in mm/tlb_64.c

The compiler doesn't understand that BUG() never returns, so complains that
psize isn't set. Just set it to the normal value, which seems to produce nice
code and keeps gcc happy.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Fix a compiler warning in platforms/iseries/vpdinfo.c
Michael Ellerman [Thu, 13 Jul 2006 07:54:44 +0000 (17:54 +1000)] 
[POWERPC] iseries: Fix a compiler warning in platforms/iseries/vpdinfo.c

PhbId might be used unitialised, so set it to 0xff (nothing) always.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Fix a compiler warning in platforms/iseries/vpdinfo.c
Michael Ellerman [Thu, 13 Jul 2006 07:54:39 +0000 (17:54 +1000)] 
[POWERPC] iseries: Fix a compiler warning in platforms/iseries/vpdinfo.c

iSeries_Get_Location_Code() has error paths, but currently returns void, so
give it a return code and only print the output if it returns successfully.
Gcc isn't smart enough to be quiet though, so set frame to 0 to shut it up.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Move ItLpNaca into platforms/iseries
Michael Ellerman [Thu, 13 Jul 2006 07:52:17 +0000 (17:52 +1000)] 
[POWERPC] iseries: Move ItLpNaca into platforms/iseries

Move ItLpNaca into platforms/iseries now that it's not used elsewhere.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Make HvLpConfig_get(Primary)LpIndex functions
Michael Ellerman [Thu, 13 Jul 2006 07:52:12 +0000 (17:52 +1000)] 
[POWERPC] iseries: Make HvLpConfig_get(Primary)LpIndex functions

HvLpConfig_get(Primary)LpIndex are currently static inlines that return
fields from the itLpNaca, if we make them real functions we can make the
itLpNaca private to iSeries.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Make ItExtVpdPanel private to iSeries
Michael Ellerman [Thu, 13 Jul 2006 07:52:09 +0000 (17:52 +1000)] 
[POWERPC] iseries: Make ItExtVpdPanel private to iSeries

No one outside platforms/iseries needs ItExtVpdPanel anymore, so move
it in there. It used to be needed by lparcfg, and so was exported, but
isn't needed anymore, so unexport it.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Cleanup e2a() and strne2a()
Michael Ellerman [Thu, 13 Jul 2006 07:52:06 +0000 (17:52 +1000)] 
[POWERPC] iseries: Cleanup e2a() and strne2a()

e2a() was formally used by lparcfg, and so had to be exported, but isn't
anymore, so don't.

e2a() and strne2a() can both be static, and __init.

And e2a can be made much more concise if we use x ... y case labels, while
we're there add support for lower case letters.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Move e2a()/strne2a() into their only caller
Michael Ellerman [Thu, 13 Jul 2006 07:52:04 +0000 (17:52 +1000)] 
[POWERPC] iseries: Move e2a()/strne2a() into their only caller

The ASCII -> EBCDIC functions, e2a() and strne2a() are now only used in
dt.c, so move them in there.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] iseries: Use device tree /system-id in /proc/iSeries/config
Michael Ellerman [Thu, 13 Jul 2006 07:52:01 +0000 (17:52 +1000)] 
[POWERPC] iseries: Use device tree /system-id in /proc/iSeries/config

We export a bunch of info in /proc/iSeries/config. Currently we pull it
directly out of some iSeries specific structs, but we could use the device
tree instead, this saves decoding it twice and is a little neater.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
18 years ago[POWERPC] Remove linux,pci-domain properties
Jeremy Kerr [Tue, 4 Jul 2006 06:47:18 +0000 (16:47 +1000)] 
[POWERPC] Remove linux,pci-domain properties

The linux,pci-domain property is no longer used by DLPAR/PCI Hotplug
utilites, or LSVPD. This change removes it.

Built for ppc64_defconfig.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Use const qualifiers for prom parsing utilites
Jeremy Kerr [Tue, 4 Jul 2006 06:46:44 +0000 (16:46 +1000)] 
[POWERPC] Use const qualifiers for prom parsing utilites

The of_bus callbacks map and get_flags can be constified, as they don't
alter the range or addr arguments. of_dump_addr and of_read_addr can
also be constified.

Built for 32- and 64-bit powerpc

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Remove linux,device properties
Jeremy Kerr [Tue, 4 Jul 2006 06:44:46 +0000 (16:44 +1000)] 
[POWERPC] Remove linux,device properties

The linux,device property isn't used anywhere within the kernel, and
since it's a kernel pointer, it's a little useless for userspace.

This change removes the code to create this property in
of_device_register.

Built for pmac32.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add cpufreq support for Xserve G5
Benjamin Herrenschmidt [Thu, 6 Jul 2006 05:09:19 +0000 (15:09 +1000)] 
[POWERPC] Add cpufreq support for Xserve G5

The Xserve G5 are capable of frequency switching like other desktop G5s.
This enables it. It also fix a Kconfig issue which prevented from
building the G5 cpufreq support if CONFIG_PMAC_SMU was not set (the
first version of that driver only worked with SMU based macs, but this
isn't the case anymore).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Xserve G5 thermal control fixes
Benjamin Herrenschmidt [Thu, 6 Jul 2006 08:03:06 +0000 (18:03 +1000)] 
[POWERPC] Xserve G5 thermal control fixes

The thermal control for the Xserve G5s had a few issues. For one, the
way to program the RPM fans speeds into the FCU is different between it
and the desktop models, which I didn't figure out until recently, and it
was missing a control loop for the slots fan, running it too fast.  Both
of those problems were causing the machine to be much more noisy than
necessary.  This patch also changes the fixed value of the slots fan for
desktop G5s to 40% instead of 50%.  It seems to still have a pretty good
airflow that way and is much less noisy.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix mem= handling when the memory limit is > RMO size
Michael Ellerman [Tue, 4 Jul 2006 07:13:23 +0000 (17:13 +1000)] 
[POWERPC] Fix mem= handling when the memory limit is > RMO size

There's a bug in my cleaned up mem= handling, if the memory limit is
larger than the RMO size we'll erroneously enlarge the RMO size.

Fix is to only change the RMO size if the memory limit is less than
the current RMO value.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] More offb/bootx fixes
Benjamin Herrenschmidt [Tue, 4 Jul 2006 07:07:18 +0000 (17:07 +1000)] 
[POWERPC] More offb/bootx fixes

There were still some issues with offb when BootX doesn't provide a
proper display node, this fixes them.  This also re-instates the
palette hacks that were disabled a couple of kernel versions ago when
I converted to the new OF parsing, and shuffles some functions around
to avoid prototypes.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add support for briq front panel
Benjamin Herrenschmidt [Tue, 4 Jul 2006 05:06:20 +0000 (15:06 +1000)] 
[POWERPC] Add support for briq front panel

This adds the driver for the Briq front panel. This is a cleaned up
version of a driver that has been floating around for some time now,
initially written by Karsten Jeppesen <karsten@jeppesens.com> and
cleaned up by jk and myself.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add briq support to CHRP
Benjamin Herrenschmidt [Tue, 4 Jul 2006 04:16:28 +0000 (14:16 +1000)] 
[POWERPC] Add briq support to CHRP

The support for Briq machines has been floating around as patches for
ages. This cleans it up and adds it once for all.

Some of this is based on initial code provided by Karsten Jeppesen
<karsten@jeppesens.com> and mostly rewritten from scratch by me.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix legacy_serial.c error handling on 32 bits
Benjamin Herrenschmidt [Tue, 4 Jul 2006 04:14:07 +0000 (14:14 +1000)] 
[POWERPC] Fix legacy_serial.c error handling on 32 bits

The code in legacy_serial.c wouldn't properly compare OF translation
results against OF_BAD_ADDR as it's using a phys_addr_t which is 32
bits on some 32-bit powerpc platforms. This fixes it by always using
a u64 which is what is returned by the OF parsing routines. It also
makes translation failure harmless for ISA serial ports.  If they
can't translate, we can't use the UART early, but we can still let the
8250 driver use it later on by using IO port accessors.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix default clock for udbg_16550
Benjamin Herrenschmidt [Tue, 4 Jul 2006 04:11:23 +0000 (14:11 +1000)] 
[POWERPC] Fix default clock for udbg_16550

This patch makes it possible to provide 0 as the clock value for
udbg_16550, making it default to the standard 1.8432Mhz clock

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix non-MPIC CHRPs with CONFIG_SMP set
Benjamin Herrenschmidt [Tue, 4 Jul 2006 04:09:36 +0000 (14:09 +1000)] 
[POWERPC] Fix non-MPIC CHRPs with CONFIG_SMP set

Pseudo-CHRP machines like Pegasos without an MPIC would crash at boot if
CONFIG_SMP was set because the "smp_ops" pointer was set to MPIC related
ops unconditionally. This patch makes it NULL on machines that don't
support SMP and provides proper default behaviour in the callers when
smp_ops is NULL.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix 32 bits warning in prom_init.c
Benjamin Herrenschmidt [Tue, 4 Jul 2006 04:07:42 +0000 (14:07 +1000)] 
[POWERPC] Fix 32 bits warning in prom_init.c

A warning is hurting my eyes when building 32 bits kernels

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Workaround Pegasos incorrect ISA "ranges"
Benjamin Herrenschmidt [Tue, 4 Jul 2006 04:06:29 +0000 (14:06 +1000)] 
[POWERPC] Workaround Pegasos incorrect ISA "ranges"

The Pegasos firmware doesn't create a valid "ranges" property for the
ISA bridge, thus causing translation of ISA addresses and IO ports to
fail. This fixes it, thus re-enabling proper early serial console to
work on Pegasos.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] fix up front-LED Kconfig
Johannes Berg [Mon, 3 Jul 2006 12:28:14 +0000 (14:28 +0200)] 
[POWERPC] fix up front-LED Kconfig

Rather long patch, apparently no one has updated the pmac32_defconfig in
a while.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add -fno-stack-protector to BOOTCFLAGS in arch/powerpc/boot/Makefile.
Niels Kristian Bech Jensen [Sun, 2 Jul 2006 11:02:27 +0000 (13:02 +0200)] 
[POWERPC] Add -fno-stack-protector to BOOTCFLAGS in arch/powerpc/boot/Makefile.

I got some undefined references to __stack_chk_fail in
arch/powerpc/boot/stdio.o and arch/powerpc/boot/prom.o when I was trying
to build a kernel on Ubuntu Edgy Eft - which includes Stack Smashing
Protection.

This patch adds -fno-stack-protector to BOOTCFLAGS in
arch/powerpc/boot/Makefile (why does BOOTCFLAGS depend on HOSTCFLAGS and
not CFLAGS?).

Regards,
Niels Kristian Bech Jensen

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agoLinux 2.6.18-rc1 v2.6.18-rc1
Linus Torvalds [Thu, 6 Jul 2006 04:09:49 +0000 (21:09 -0700)] 
Linux 2.6.18-rc1

It's all good.

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
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

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
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.

18 years ago[PKT_SCHED]: Fix error handling while dumping actions
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>
18 years ago[PKT_SCHED]: Return ENOENT if action module is unavailable
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>
18 years ago[PKT_SCHED]: Fix illegal memory dereferences when dumping actions
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>
18 years ago[SPARC64]: Fix stack overflow checking in modular non-SMP kernels.
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>
18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
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

18 years ago[SPARC64]: Fix sparc64 build errors when CONFIG_PCI=n.
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>
18 years ago[PCI] Add JMicron PCI ID constants
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>
18 years ago[PATCH] ahci: Ensure that we don't grab both functions
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>
18 years ago[PATCH] libata-core.c: restore configuration boot messages in ata_dev_configure(...
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>
18 years ago[PATCH] sata_sil24: add suspend/sleep support
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>
18 years ago[PATCH] sata_sil24: separate out sil24_init_controller()
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>
18 years ago[PATCH] sata_sil: add suspend/sleep support
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>
18 years ago[PATCH] sata_sil: separate out sil_init_controller()
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>
18 years ago[PATCH] libata: reimplement controller-wide PM
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>
18 years ago[PATCH] libata: reimplement per-dev PM
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>
18 years ago[PATCH] libata: implement PM EH actions
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>
18 years ago[PATCH] libata: separate out __ata_ehi_hotplugged()
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>
18 years ago[PATCH] libata: implement ATA_EHI_NO_AUTOPSY and QUIET
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>
18 years ago[PATCH] libata: clean up debounce parameters and improve parameter selection
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>
18 years ago[PATCH] libata: implement ATA_EHI_RESUME_LINK
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>
18 years ago[PATCH] libata: replace ap_lock w/ ap->lock in ata_scsi_error()
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>
18 years ago[PATCH] libata: fix ehc->i.action setting in ata_eh_autopsy()
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>
18 years ago[PATCH] libata: add ap->pflags and move core dynamic flags to it
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>
18 years ago[PATCH] libata: Conditionally set host->max_cmd_len
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>
18 years ago[PATCH] sata_vsc: data_xfer should use mmio
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>
18 years agoMerge git://git.linux-nfs.org/pub/linux/nfs-2.6
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'"

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
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

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
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
  ...

18 years ago[PATCH] myri10ge - Export more parameters to ethtool
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>
18 years ago[PATCH] myri10ge - Use dev_info() when printing parameters after probe
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>
18 years ago[PATCH] myri10ge - Drop ununsed nvidia chipset id
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>
18 years ago[PATCH] myri10ge - Drop unused pm_state
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>
18 years ago[PATCH] Fix freeing of net device
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>
18 years ago[PATCH] remove dead entry in net wan Kconfig
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>
18 years ago[PATCH] NI5010 netcard cleanup
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>
18 years ago[PATCH] lock validator: fix ns83820.c irq-flags bug
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>
18 years ago[PATCH] pcnet32: Cleanup rx buffers after loopback test.
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>
18 years ago[PATCH] pcnet32: Suspend the chip rather than restart when changing multicast/promisc
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>
18 years ago[PATCH] pcnet32: Handle memory allocation failures cleanly when resizing tx/rx rings
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>
18 years ago[PATCH] pcnet32: Use kcalloc instead of kmalloc and memset
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>
18 years ago[PATCH] pcnet32: Fix off-by-one in get_ringparam
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>
18 years ago[PATCH] pcnet32: Use PCI_DEVICE macro
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>
18 years ago[PATCH] pcnet32: Fix Section mismatch error
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>
18 years ago[PATCH] Add support for the Cicada 8201 PHY
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>
18 years ago[PATCH] zd1211rw: disable TX queue during stop
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>
18 years ago[PATCH] ZyDAS ZD1211 USB-WLAN driver
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>
18 years ago[PATCH] softmac: fix build-break from 881ee6999d66c8fc903b429b73bbe6045b38c549
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>
18 years ago[PATCH] CONFIG_WIRELESS_EXT is neccessary after all
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>
18 years ago[PATCH] SoftMAC: Add network to ieee80211softmac_call_events when associate times out
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>
18 years ago[PATCH] SoftMAC: Prevent multiple authentication attempts on the same network
Joseph Jezak [Sun, 11 Jun 2006 16:00:37 +0000 (12:00 -0400)] 
[PATCH] SoftMAC: Prevent multiple authentication attempts on the same network

This patch addresses the "No queue exists" messages commonly seen during
authentication and associating.  These appear due to scheduling multiple
authentication attempts on the same network.  To prevent this, I added a
flag to stop multiple authentication attempts by the association layer.
I also added a check to the wx handler to see if we're connecting to a
different network than the one already in progress.  This scenario was
causing multiple requests on the same network because the network BSSID
was not being updated despite the fact that the ESSID changed.

Signed-off-by: Joseph Jezak <josejx@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years ago[PATCH] bcm43xx: enable shared key authentication
Daniel Drake [Fri, 16 Jun 2006 19:50:22 +0000 (20:50 +0100)] 
[PATCH] bcm43xx: enable shared key authentication

I recently patched softmac to enable shared key authentication. This small patch
will enable crazy or unfortunate bcm43xx users to use this new capability.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years ago[PATCH] 2.6.17 missing a call to ieee80211softmac_capabilities from ieee80211softmac_...
Larry Finger [Tue, 20 Jun 2006 14:19:18 +0000 (09:19 -0500)] 
[PATCH] 2.6.17 missing a call to ieee80211softmac_capabilities from ieee80211softmac_assoc_req

In commit ba9b28d19a3251bb1dfe6a6f8cc89b96fb85f683, routine
ieee80211softmac_capabilities was added to ieee80211softmac_io.c. As
denoted by its name, it completes the capabilities IE that is
needed in the associate and reassociate requests sent to the
AP. For at least one AP, the Linksys WRT54G V5, the capabilities
field must set the 'short preamble' bit or the AP refuses to
associate. In the commit noted above, there is a call to the
new routine from ieee80211softmac_reassoc_req, but not from
ieee80211softmac_assoc_req. This patch fixes that oversight.

As noted in the subject, v2.6.17 is affected. My bcm43xx card had been
unable to associate since I was forced to buy a new AP. I finally was
able to get a packet dump and traced the problem to the capabilities
info. Although I had heard that a patch was "floating around", I had
not seen it before 2.6.17 was released. As this bug does not affect
security and I seem to have the only AP affected by it, there should
be no problem in leaving it for 2.6.18.

Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years ago[PATCH] Convert bcm43xx-softmac to use the ieee80211_is_valid_channel routine
Larry Finger [Mon, 26 Jun 2006 02:32:21 +0000 (21:32 -0500)] 
[PATCH] Convert bcm43xx-softmac to use the ieee80211_is_valid_channel routine

The current version of bcm43xx-softmac uses local routines to check
if a channel is valid. As noted in the comments, these routines do
not take any regulatory information into account. This patch converts
the code to use the equivalent routine in ieee80211, which is being
converted to know about regulatory information.

Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years ago[PATCH] skb used after passing to netif_rx in net/ieee80211/ieee80211_rx.c
Eric Sesterhenn [Wed, 21 Jun 2006 19:05:58 +0000 (21:05 +0200)] 
[PATCH] skb used after passing to netif_rx in net/ieee80211/ieee80211_rx.c

this patch fixes coverity id #913. ieee80211_monitor_rx() passes the skb
to netif_rx() and we should not reference it any longer.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years ago[PATCH] ieee80211: fix not allocating IV+ICV space when usingencryption in ieee80211_...
Hong Liu [Wed, 21 Jun 2006 03:35:08 +0000 (11:35 +0800)] 
[PATCH] ieee80211: fix not allocating IV+ICV space when usingencryption in ieee80211_tx_frame

We should preallocate IV+ICV space when encrypting the frame.
Currently no problem shows up just because dev_alloc_skb aligns the
data len to SMP_CACHE_BYTES which can be used for ICV.

Signed-off-by: Hong Liu <hong.liu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>