]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agogro: Fix error handling on extremely short frags
Herbert Xu [Sat, 17 Jan 2009 19:47:18 +0000 (19:47 +0000)]
gro: Fix error handling on extremely short frags

When a frag is shorter than an Ethernet header, we'd return a
zeroed packet instead of aborting.  This patch fixes that.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agogro: Fix handling of complete checksums in IPv6
Herbert Xu [Sat, 17 Jan 2009 19:46:16 +0000 (19:46 +0000)]
gro: Fix handling of complete checksums in IPv6

We need to perform skb_postpull_rcsum after pulling the IPv6
header in order to maintain the correctness of the complete
checksum.

This patch also adds a missing iph reload after pulling.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agovia-velocity: fix hot spin
roel kluin [Sat, 17 Jan 2009 11:14:31 +0000 (11:14 +0000)]
via-velocity: fix hot spin

while(--j >= 0) keeps spinning when j is unsigned:

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomyri10ge: don't forget pci_disable_device()
Brice Goglin [Sat, 17 Jan 2009 08:27:19 +0000 (08:27 +0000)]
myri10ge: don't forget pci_disable_device()

Don't forget to call pci_disable_device() in myri10ge_remove()
and when myri10ge_probe() fails.

By the way, update the copyright years.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoNET: net_namespace, fix lock imbalance
Jiri Slaby [Sat, 17 Jan 2009 06:47:12 +0000 (06:47 +0000)]
NET: net_namespace, fix lock imbalance

register_pernet_gen_subsys omits mutex_unlock in one fail path.
Fix it.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Tue, 20 Jan 2009 22:37:10 +0000 (14:37 -0800)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

17 years agoMerge branch 'for-2.6.29' into for-2.6.30
Mark Brown [Tue, 20 Jan 2009 20:37:19 +0000 (20:37 +0000)]
Merge branch 'for-2.6.29' into for-2.6.30

17 years agoASoC: Fix WM9705 capture switch name
Ian Molton [Mon, 19 Jan 2009 17:23:11 +0000 (17:23 +0000)]
ASoC: Fix WM9705 capture switch name

This patch fixes the acpture switch name so that it better reflects its
purpose.

Signed-off-by: Ian Molton <iann@mnementh.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules
Timur Tabi [Mon, 19 Jan 2009 17:57:46 +0000 (11:57 -0600)]
ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules

Change the Kconfig and Makefile options for Freescale MPC8610 audio drivers
so that they can be compiled as modules, and simplify the Kconfig choices
so that only the platform is selected.

Also fix the naming of the driver files to conform to ALSA standards.

[Removed extraneous SND_SOC dependency -- broonie]

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoASoC: fix registration of the SoC card in the Freescale MPC8610 drivers
Timur Tabi [Mon, 19 Jan 2009 23:14:24 +0000 (17:14 -0600)]
ASoC: fix registration of the SoC card in the Freescale MPC8610 drivers

The Freescale MPC8610 driver was defining two SOC card (snd_soc_card)
structures, partially initializing each one, but registering only one of
them with ASoC.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoeeepc-laptop: use netlink interface
Corentin Chary [Tue, 20 Jan 2009 15:17:49 +0000 (16:17 +0100)]
eeepc-laptop: use netlink interface

To be prepared for /proc/acpi/event removal we export events
also through generic netlink interface.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoeeepc-laptop: Implement rfkill hotplugging in eeepc-laptop
Matthew Garrett [Tue, 20 Jan 2009 15:17:48 +0000 (16:17 +0100)]
eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop

The Eee implements rfkill by logically unplugging the wireless card from the
PCI bus. Despite sending ACPI notifications, this does not appear to be
implemented using standard ACPI hotplug - nor does the firmware provide the
_OSC method required to support native PCIe hotplug. The only sensible choice
appears to be to handle the hotplugging directly in the eeepc-laptop driver.
Tested successfully on a 700, 900 and 901.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoeeepc-laptop: Check return values from rfkill_register
Matthew Garrett [Tue, 20 Jan 2009 15:17:47 +0000 (16:17 +0100)]
eeepc-laptop: Check return values from rfkill_register

Error out if rfkill registration fails, and also set the default system state
appropriately on boot

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoeeepc-laptop: Add support for extended hotkeys
Matthew Garrett [Tue, 20 Jan 2009 15:17:46 +0000 (16:17 +0100)]
eeepc-laptop: Add support for extended hotkeys

Newer Eees have extra hotkeys above the function keys. This patch adds support
for sending them through the input layer.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoasus-laptop: fix label indentation
Corentin Chary [Tue, 20 Jan 2009 15:17:45 +0000 (16:17 +0100)]
asus-laptop: fix label indentation

Fix the label indentation

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoasus-laptop: update Kconfig for input layer
Corentin Chary [Tue, 20 Jan 2009 15:17:44 +0000 (16:17 +0100)]
asus-laptop: update Kconfig for input layer

Update Kconfig, now asus-laptop use the input layer.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoasus-laptop: hotkeys via the generic input interface
Corentin Chary [Tue, 20 Jan 2009 15:17:43 +0000 (16:17 +0100)]
asus-laptop: hotkeys via the generic input interface

This patch is based on eeepc-laptop.c and the patchs
from Nicolas Trangez and Daniel Nascimento (mainly for the keymap).

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoasus-laptop: use generic netlink interface
Corentin Chary [Tue, 20 Jan 2009 15:17:42 +0000 (16:17 +0100)]
asus-laptop: use generic netlink interface

To be prepared for /proc/acpi/event removal we export events
also through generic netlink interface.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoasus_acpi: Add R1F support
Corentin Chary [Tue, 20 Jan 2009 15:17:41 +0000 (16:17 +0100)]
asus_acpi: Add R1F support

Add R1F support

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoeeepc-laptop: split eeepc_backlight_exit()
Corentin Chary [Tue, 20 Jan 2009 15:17:40 +0000 (16:17 +0100)]
eeepc-laptop: split eeepc_backlight_exit()

eeepc_backlight_exit() was doing rfkill and input stuff, which
is a nonsense. This patch add two specific exit functions, one
for input and one for rfkill.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agofirewire: keep highlevel drivers attached during brief connection loss
Stefan Richter [Sat, 17 Jan 2009 21:45:54 +0000 (22:45 +0100)]
firewire: keep highlevel drivers attached during brief connection loss

There are situations when nodes vanish from the bus and come back
quickly thereafter:
  - When certain bus-powered hubs are plugged in,
  - when certain devices are plugged into 6-port hubs,
  - when certain disk enclosures are switched from self-power to bus
    power or vice versa and break the daisy chain during the transition,
  - when the user plugs a cable out and quickly plugs it back in, e.g.
    to reorder a daisy chain (works on Mac OS X if done quickly enough),
  - when certain hubs temporarily malfunction during high bus traffic.

Until now, firewire-core reported affected nodes as lost to the
highlevel drivers (firewire-sbp2 and userspace drivers).  We now delay
the destruction of device representations until after at least two
seconds after the last bus reset.  If a "new" device is detected in this
period whose bus information block and root directory header match that
of a device which is pending for deletion, we resurrect that device and
send update calls to highlevel drivers.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agofirewire: unnecessary BM delay after generation rollover
Stefan Richter [Mon, 24 Mar 2008 19:56:40 +0000 (20:56 +0100)]
firewire: unnecessary BM delay after generation rollover

Noticed by Jarod Wilson:  The bus manager work was unnecessarily delayed
each time the bus generation counter rolled over.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
17 years agofirewire: insist on successive self ID complete events
Stefan Richter [Wed, 19 Mar 2008 21:02:40 +0000 (22:02 +0100)]
firewire: insist on successive self ID complete events

The whole topology code only works if the old and new topologies which
are compared come from immediately successive self ID complete events.

If there happened bus resets without self ID complete events in the
meantime, or self ID complete events with invalid selfIDs, the topology
comparison could identify nodes wrongly, or more likely just corrupt
kernel memory or panic right away.

We now discard all nodes of the old topology and treat all current nodes
as new ones if the current self ID generation is not the previous one
plus 1.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
17 years agopowerpc/40x: Update PowerPC 40x defconfigs
Josh Boyer [Tue, 20 Jan 2009 18:01:54 +0000 (13:01 -0500)]
powerpc/40x: Update PowerPC 40x defconfigs

Update the 40x defconfigs for 2.6.29-rc2

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years agoRevert "xfrm: For 32/64 compatability wrt. xfrm_usersa_info"
David S. Miller [Tue, 20 Jan 2009 17:49:51 +0000 (09:49 -0800)]
Revert "xfrm: For 32/64 compatability wrt. xfrm_usersa_info"

This reverts commit fc8c7dc1b29560c016a67a34ccff32a712b5aa86.

As indicated by Jiri Klimes, this won't work.  These numbers are
not only used the size validation, they are also used to locate
attributes sitting after the message.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoALSA: hda - Allow digital-only I/O on ALC262 codec
Takashi Iwai [Tue, 20 Jan 2009 17:32:55 +0000 (18:32 +0100)]
ALSA: hda - Allow digital-only I/O on ALC262 codec

Some laptops like VAIO have multiple codecs and uses ALC262 only for
the SPIDF output without analog I/O.  So far, the codec-parser assumes
the presence of analog I/O and returned an error for such a case.

This patch adds some hacks to allow the digital-only configuration for
ALC262.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Assign proper digital I/O type for STAC/IDT
Takashi Iwai [Tue, 20 Jan 2009 17:30:20 +0000 (18:30 +0100)]
ALSA: hda - Assign proper digital I/O type for STAC/IDT

Assign the proper PCM digital I/O type (HDA_PCM_TYPE_*) for the digital
I/O on STAC/IDT codecs.  HDA_PCM_TYPE_HDMI is assigned for the HDMI I/O.

A similar framework is implemented to patch_realtek.c, but it's not
set up and still using only HDA_PCM_TYPE_SPDIF yet.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Check HDMI jack types in the auto configuration
Takashi Iwai [Tue, 20 Jan 2009 17:24:13 +0000 (18:24 +0100)]
ALSA: hda - Check HDMI jack types in the auto configuration

Add dig_out_type and dig_in_type fields to autocfg struct.
A proper HDA_PCM_TYPE_* value is assigned to these fields according
to the pin-jack location type value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Don't break the PCM creation loop
Takashi Iwai [Tue, 20 Jan 2009 17:21:23 +0000 (18:21 +0100)]
ALSA: hda - Don't break the PCM creation loop

Don't break the loop in snd_hda_codec_build_pcms() even if the item
has no substreams.

It's possible that it's an empty item and the next item containing
the valid substreams (e.g. realtek codecs may create the analog
and alt-analog but no digitl streams).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Improve auto-probing of STAC9872 codec
Takashi Iwai [Tue, 20 Jan 2009 16:19:01 +0000 (17:19 +0100)]
ALSA: hda - Improve auto-probing of STAC9872 codec

Use the standard STAC/IDT auto-probing routine for non-static
STAC9872 codec probing.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Detect non-SPDIF digital I/O
Takashi Iwai [Tue, 20 Jan 2009 16:17:29 +0000 (17:17 +0100)]
ALSA: hda - Detect non-SPDIF digital I/O

Accept non-SPDIF digital I/O pins as the digital pins.
These are usually corresponding to HDMI I/O.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add debug prints for digital I/O pin detections
Takashi Iwai [Tue, 20 Jan 2009 16:15:57 +0000 (17:15 +0100)]
ALSA: hda - Add debug prints for digital I/O pin detections

Add the debug prints for digital I/O pin detections in
snd_hda_parse_pin_def_config() function.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agox86: remove byte locks
Jiri Kosina [Mon, 12 Jan 2009 11:53:45 +0000 (12:53 +0100)]
x86: remove byte locks

Impact: cleanup

Remove byte locks implementation, which was introduced by Jeremy in
8efcbab6 ("paravirt: introduce a "lock-byte" spinlock implementation"),
but turned out to be dead code that is not used by any in-kernel
virtualization guest (Xen uses its own variant of spinlocks implementation
and KVM is not planning to move to byte locks).

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoUBI: fix resource de-allocation
Artem Bityutskiy [Tue, 20 Jan 2009 16:04:09 +0000 (18:04 +0200)]
UBI: fix resource de-allocation

GregKH asked to fix UBI which has fake device release method. Indeed,
we have to free UBI device description object from the release method,
because otherwise we'll oops is someone opens a UBI device sysfs file,
then the device is removed, and he reads the file. With this fix, he
will get -ENODEV instead of an oops.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoUBI: remove unused variable
Artem Bityutskiy [Tue, 20 Jan 2009 15:48:02 +0000 (17:48 +0200)]
UBI: remove unused variable

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agopowerpc/85xx: Fix typo in mpc8572ds dts
Kumar Gala [Tue, 20 Jan 2009 15:57:24 +0000 (09:57 -0600)]
powerpc/85xx: Fix typo in mpc8572ds dts

The localbus node flash had a minor typo for a read-only property.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agoext4: Fix ext4_free_blocks() w/o a journal when files have indirect blocks
Theodore Ts'o [Tue, 20 Jan 2009 14:50:19 +0000 (09:50 -0500)]
ext4: Fix ext4_free_blocks() w/o a journal when files have indirect blocks

When trying to unlink a file with indirect blocks on a filesystem
without a journal, the "circular indirect block" sanity test was
getting falsely triggered.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoALSA: hda - Halve too large volume scales for STAC/IDT codecs
Takashi Iwai [Tue, 20 Jan 2009 14:28:38 +0000 (15:28 +0100)]
ALSA: hda - Halve too large volume scales for STAC/IDT codecs

STAC/IDT codecs have often too large volume scales such as -96dB,
and exposing this as is results in too large scale in percentage
representation.

This patch adds the check of the volume scale and halves the
volume range if it's too large automatically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add extra volume offset to standard volume amp macros
Takashi Iwai [Tue, 20 Jan 2009 12:07:55 +0000 (13:07 +0100)]
ALSA: hda - Add extra volume offset to standard volume amp macros

Added the volume offset to base for the standard volume controls
to handle elements with too big volume scales like -96dB..0dB.
For such elements, you can set the base volume to reduce the range.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agopowerpc/44x: Warp patches for the new NDFC driver
Sean MacLennan [Fri, 9 Jan 2009 18:20:11 +0000 (18:20 +0000)]
powerpc/44x: Warp patches for the new NDFC driver

Convert the Warp platform to use the newly merged NDFC driver

- warp.dts changed to work with ndfc
- warp-nand.c no longer needed
- removed obsolete rev A support from cuboot-warp.c

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years agopowerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info
Grant Erickson [Thu, 18 Dec 2008 12:34:05 +0000 (12:34 +0000)]
powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info

Added additional information for type and compatibility strings and
interrupt information to the SDRAM0 memory-controller device tree
nodes for AMCC PowerPC 405EX[r]-based boards to facilitate binding
with the new "ibm,sdram-4xx-ddr2" EDAC memory controller adapter driver.

Signed-off-by: Grant Erickson <gerickson@nuovations.com>
Acked-by: Stefan Roese <sr@denx.de>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years agox86: optimise x86's do_page_fault (C entry point for the page fault path)
Nick Piggin [Tue, 20 Jan 2009 03:24:26 +0000 (04:24 +0100)]
x86: optimise x86's do_page_fault (C entry point for the page fault path)

Impact: cleanup, restructure code to improve assembly

gcc isn't _all_ that smart about spilling registers to stack or reusing
stack slots, even with branch annotations. do_page_fault contained a lot
of functionality, so split unlikely paths into their own functions, and
mark them as noinline just to be sure. I consider this actually to be
somewhat of a cleanup too: the main function now contains about half
the number of lines so the normal path is easier to read, while the error
cases are also nicely split away.

Also, ensure the order of arguments to functions is always the same: regs,
addr, error_code. This can reduce code size a tiny bit, and just looks neater
too.

And add a couple of branch annotations.

Before:
  do_page_fault:
          subq    $360, %rsp      #,

After:
  do_page_fault:
          subq    $56, %rsp       #,

bloat-o-meter:
  add/remove: 8/0 grow/shrink: 0/1 up/down: 2222/-1680 (542)
  function                                     old     new   delta
  __bad_area_nosemaphore                         -     506    +506
  no_context                                     -     474    +474
  vmalloc_fault                                  -     424    +424
  spurious_fault                                 -     358    +358
  mm_fault_error                                 -     272    +272
  bad_area_access_error                          -      89     +89
  bad_area                                       -      89     +89
  bad_area_nosemaphore                           -      10     +10
  do_page_fault                               2464     784   -1680

Yes, the total size increases by 542 bytes, due to the extra function calls.
But these will very rarely be called (except for vmalloc_fault) in a normal
workload. Importantly, do_page_fault is less than 1/3rd it's original size,
and touches far less stack.

Existing gotos and branch hints did move a lot of the infrequently used text
out of the fastpath, but that's even further improved after this patch.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoring-buffer: fix alignment problem
Steven Rostedt [Mon, 19 Jan 2009 19:32:51 +0000 (14:32 -0500)]
ring-buffer: fix alignment problem

Impact: fix to allow some archs to use the ring buffer

Commits in the ring buffer are checked by pointer arithmetic.
If the calculation is incorrect, then the commits will never take
place and the buffer will simply fill up and report an error.

Each page in the ring buffer has a small header:

struct buffer_data_page {
u64 time_stamp;
local_t commit;
unsigned char data[];
};

Unfortuntely, some of the calculations used sizeof(struct buffer_data_page)
to know the size of the header. But this is incorrect on some archs,
where sizeof(struct buffer_data_page) does not equal
offsetof(struct buffer_data_page, data), and on those archs, the commits
are never processed.

This patch replaces the sizeof with offsetof.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotrace_workqueue: use percpu data for workqueue stat
Lai Jiangshan [Fri, 16 Jan 2009 08:32:25 +0000 (16:32 +0800)]
trace_workqueue: use percpu data for workqueue stat

Impact: use percpu data instead of a global structure

Use:

   static DEFINE_PER_CPU(struct workqueue_global_stats, all_workqueue_stat);

instead of allocating a global structure.

percpu data also works well on NUMA.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, ds, bts: cleanup DS configuration
Markus Metzger [Mon, 19 Jan 2009 09:38:35 +0000 (10:38 +0100)]
x86, ds, bts: cleanup DS configuration

Cleanup the cpuid check for DS configuration.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, ftrace, hw-branch-tracer: documentation
Markus Metzger [Mon, 19 Jan 2009 09:35:58 +0000 (10:35 +0100)]
x86, ftrace, hw-branch-tracer: documentation

Document the hw-branch-tracer in the ftrace documentation.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, ftrace, hw-branch-tracer: change trace format
Markus Metzger [Mon, 19 Jan 2009 09:29:16 +0000 (10:29 +0100)]
x86, ftrace, hw-branch-tracer: change trace format

Change the hw-branch-tracer format to be more readable.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, ftrace, hw-branch-tracer: reset trace buffer on close
Markus Metzger [Mon, 19 Jan 2009 09:33:31 +0000 (10:33 +0100)]
x86, ftrace, hw-branch-tracer: reset trace buffer on close

Reset the ftrace buffer on close. Since we use cyclic buffers, the
trace is not contiguous, anyway.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, ftrace, hw-branch-tracer: dump trace on oops
Markus Metzger [Mon, 19 Jan 2009 09:31:01 +0000 (10:31 +0100)]
x86, ftrace, hw-branch-tracer: dump trace on oops

Dump the branch trace on an oops (based on ftrace_dump_on_oops).

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, ftrace, hw-branch-tracer: support hotplug cpus
Markus Metzger [Mon, 19 Jan 2009 09:26:53 +0000 (10:26 +0100)]
x86, ftrace, hw-branch-tracer: support hotplug cpus

Support hotplug cpus.

Reported-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge commit 'v2.6.29-rc2' into x86/mm
Ingo Molnar [Tue, 20 Jan 2009 08:23:28 +0000 (09:23 +0100)]
Merge commit 'v2.6.29-rc2' into x86/mm

17 years agox86, cpumask: fix tlb flush race
Ingo Molnar [Tue, 20 Jan 2009 08:13:15 +0000 (09:13 +0100)]
x86, cpumask: fix tlb flush race

Impact: fix bootup crash

The cpumask is now passed in as a reference to mm->cpu_vm_mask, not on
the stack - hence it is not constant anymore during the TLB flush.

That way it could race and some static sanity checks would trigger:

[  238.154287] ------------[ cut here ]------------
[  238.156039] kernel BUG at arch/x86/kernel/tlb_32.c:130!
[  238.156039] invalid opcode: 0000 [#1] SMP
[  238.156039] last sysfs file: /sys/class/net/eth2/address
[  238.156039] Modules linked in:
[  238.156039]
[  238.156039] Pid: 6493, comm: ifup-eth Not tainted (2.6.29-rc2-tip #1) P4DC6
[  238.156039] EIP: 0060:[<c0118f87>] EFLAGS: 00010202 CPU: 2
[  238.156039] EIP is at native_flush_tlb_others+0x35/0x158
[  238.156039] EAX: c0ef972c EBX: f6143301 ECX: 00000000 EDX: 00000000
[  238.156039] ESI: f61433a8 EDI: f6143200 EBP: f34f3e00 ESP: f34f3df0
[  238.156039]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[  238.156039] Process ifup-eth (pid: 6493, ti=f34f2000 task=f399ab00 task.ti=f34f2000)
[  238.156039] Stack:
[  238.156039]  ffffffff f61433a8 ffffffff f6143200 f34f3e18 c0118e9c 00000000 f6143200
[  238.156039]  f61433a8 f5bec738 f34f3e28 c0119435 c2b5b830 f6143200 f34f3e34 c01c2dc3
[  238.156039]  bffd9000 f34f3e60 c01c3051 00000000 ffffffff f34f3e4c 00000000 00000071
[  238.156039] Call Trace:
[  238.156039]  [<c0118e9c>] ? flush_tlb_others+0x52/0x5b
[  238.156039]  [<c0119435>] ? flush_tlb_mm+0x7f/0x8b
[  238.156039]  [<c01c2dc3>] ? tlb_finish_mmu+0x2d/0x55
[  238.156039]  [<c01c3051>] ? exit_mmap+0x124/0x170
[  238.156039]  [<c013e965>] ? mmput+0x40/0xf5
[  238.156039]  [<c01e4788>] ? flush_old_exec+0x640/0x94b
[  238.156039]  [<c01ddb4e>] ? fsnotify_access+0x37/0x39
[  238.156039]  [<c01e3435>] ? kernel_read+0x39/0x4b
[  238.156039]  [<c021bc8a>] ? load_elf_binary+0x4a1/0x11bb
[  238.156039]  [<c01c0af9>] ? might_fault+0x51/0x9c
[  238.156039]  [<c010a2cc>] ? paravirt_read_tsc+0x20/0x4f
[  238.156039]  [<c010a406>] ? native_sched_clock+0x5d/0x60
[  238.156039]  [<c01e2fda>] ? search_binary_handler+0xab/0x2c4
[  238.156039]  [<c021b7e9>] ? load_elf_binary+0x0/0x11bb
[  238.156039]  [<c04ae9a5>] ? _raw_read_unlock+0x21/0x46
[  238.156039]  [<c021b7e9>] ? load_elf_binary+0x0/0x11bb
[  238.156039]  [<c01e2fe1>] ? search_binary_handler+0xb2/0x2c4
[  238.156039]  [<c01e4076>] ? do_execve+0x21c/0x2ee
[  238.156039]  [<c01029b7>] ? sys_execve+0x51/0x8c
[  238.156039]  [<c0103eaf>] ? sysenter_do_call+0x12/0x43

Fix it by not assuming that the cpumask is constant.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoUBIFS: document dark_wm and dead_wm better
Artem Bityutskiy [Mon, 19 Jan 2009 17:57:27 +0000 (19:57 +0200)]
UBIFS: document dark_wm and dead_wm better

Just add more commentaries. Also some commentary fixes for
lprops flags.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoUBIFS: do not treat all data as short term
Artem Bityutskiy [Tue, 6 Jan 2009 17:54:02 +0000 (19:54 +0200)]
UBIFS: do not treat all data as short term

UBIFS wrongly tells UBI that all data is short term. Use proper
hints instead. Thanks to Xiaochuan-Xu for noticing this.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMerge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc...
Ingo Molnar [Tue, 20 Jan 2009 07:23:45 +0000 (08:23 +0100)]
Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu

17 years agosparc64: Fix DAX handling via userspace access from kernel.
David S. Miller [Tue, 20 Jan 2009 06:44:04 +0000 (22:44 -0800)]
sparc64: Fix DAX handling via userspace access from kernel.

If we do a userspace access from kernel mode, and get a
data access exception, we need to check the exception
table just like a normal fault does.

The spitfire DAX handler was doing this, but such logic
was missing from the sun4v DAX code.

Reported-by: Dennis Gilmore <dgilmore@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx()
David S. Miller [Tue, 20 Jan 2009 05:11:27 +0000 (21:11 -0800)]
sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx()

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit
Christian Borntraeger [Tue, 20 Jan 2009 04:21:49 +0000 (20:21 -0800)]
[CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit

sparc64 needs sign-extended function parameters. We have to enable
the system call wrappers.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agolinker script: kill PERCPU_VADDR_PREALLOC()
Tejun Heo [Mon, 19 Jan 2009 03:21:28 +0000 (12:21 +0900)]
linker script: kill PERCPU_VADDR_PREALLOC()

Impact: cleanup

With .data.percpu.first in place, PERCPU_VADDR_PREALLOC() is no longer
necessary.  Kill it.

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: remove pda.h
Brian Gerst [Mon, 19 Jan 2009 00:52:25 +0000 (19:52 -0500)]
x86: remove pda.h

Impact: cleanup

Signed-off-by: Brian Gerst <brgerst@gmail.com>
17 years agox86: move stack_canary into irq_stack
Brian Gerst [Mon, 19 Jan 2009 03:21:28 +0000 (12:21 +0900)]
x86: move stack_canary into irq_stack

Impact: x86_64 percpu area layout change, irq_stack now at the beginning

Now that the PDA is empty except for the stack canary, it can be removed.
The irqstack is moved to the start of the per-cpu section.  If the stack
protector is enabled, the canary overlaps the bottom 48 bytes of the irqstack.

tj: * updated subject
    * dropped asm relocation of irq_stack_ptr
    * updated comments a bit
    * rebased on top of stack canary changes

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: rework __per_cpu_load adjustments
Brian Gerst [Mon, 19 Jan 2009 03:21:28 +0000 (12:21 +0900)]
x86: rework __per_cpu_load adjustments

Impact: cleanup

Use cpu_number to determine if the adjustment is necessary.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agopercpu: refactor percpu.h
Brian Gerst [Mon, 19 Jan 2009 03:21:27 +0000 (12:21 +0900)]
percpu: refactor percpu.h

Impact: cleanup

Refactor the DEFINE_PER_CPU_* macros and add .data.percpu.first
section.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: remove pda_init()
Brian Gerst [Mon, 19 Jan 2009 03:21:27 +0000 (12:21 +0900)]
x86: remove pda_init()

Impact: cleanup

Copy the code to cpu_init() to satisfy the requirement that the cpu
be reinitialized.  Remove all other calls, since the segments are
already initialized in head_64.S.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: conditionalize stack canary handling in hot path
Tejun Heo [Tue, 20 Jan 2009 03:29:19 +0000 (12:29 +0900)]
x86: conditionalize stack canary handling in hot path

Impact: no unnecessary stack canary swapping during context switch

There's no point in moving stack_canary around during context switch
if it's not enabled.  Conditionalize it.

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: cleanup stack protector
Tejun Heo [Tue, 20 Jan 2009 03:29:19 +0000 (12:29 +0900)]
x86: cleanup stack protector

Impact: cleanup

Make the following cleanups.

* remove duplicate comment from boot_init_stack_canary() which fits
  better in the other place - cpu_idle().

* move stack_canary offset check from __switch_to() to
  boot_init_stack_canary().

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agowimax/i2400m: error paths that need to free an skb should use kfree_skb()
Inaky Perez-Gonzalez [Mon, 19 Jan 2009 13:19:30 +0000 (13:19 +0000)]
wimax/i2400m: error paths that need to free an skb should use kfree_skb()

Roel Kluin reported a bug in two error paths where skbs were wrongly
being freed using kfree(). He provided a fix where it was replaced to
kfree_skb(), as it should be.

However, in i2400mu_rx(), the error path was missing returning an
indication of the failure. Changed to reset rx_skb to NULL and return
it to the caller, i2400mu_rxd(). It will be treated as a transient
error and just ignore the packet.

Depending on the buffering conditions inside the device, the data
packet might be dropped or the device will signal the host again for
data-ready-to-read and the host will retry.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomv643xx_eth: prevent interrupt storm on ifconfig down
Gabriel Paubert [Tue, 20 Jan 2009 01:18:09 +0000 (17:18 -0800)]
mv643xx_eth: prevent interrupt storm on ifconfig down

Contrary to what the docs say, the 'extended interrupt cause' bit in
the interrupt cause register (bit 1) appears to not be maskable on at
least some of the mv643xx_eth platforms, making writing zeroes to the
interrupt mask register but not the extended interrupt mask register
insufficient to stop interrupts from occuring.  Therefore, also write
zeroes to the extended interrupt mask register when shutting down the
port.

This fixes the interrupt storm seen on the Pegasos board when shutting
down the interface.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomv643xx_eth: fix multicast filter programming
Lennert Buytenhek [Tue, 20 Jan 2009 01:17:18 +0000 (17:17 -0800)]
mv643xx_eth: fix multicast filter programming

Commit 66e63ffbc04706568d8789cbb00eaa8ddbcae648 ("mv643xx_eth:
implement ->set_rx_mode()") cleaned up mv643xx_eth's multicast filter
programming, but broke it as well.

The non-special multicast filter table (for multicast addresses that
are not of the form 01:00:5e:00:00:xx) consists of 256 hash table
buckets organised as 64 32-bit words, where the 'accept' bits are
in the LSB of each byte, so in bits 24 16 8 0 of each 32-bit word.
The old code got this right, but the referenced commit broke this by
using bits 3 2 1 0 instead.  This commit fixes this up.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoRevert "mv643xx_eth: use longer DMA bursts".
Lennert Buytenhek [Tue, 20 Jan 2009 01:16:00 +0000 (17:16 -0800)]
Revert "mv643xx_eth: use longer DMA bursts".

This reverts commit cd4ccf76bfd2c36d351e68be7e6a597268f98a1a.

On the Pegasos board, we can't do DMA burst that are longer than
one cache line.  For now, go back to using 32 byte DMA bursts for
all mv643xx_eth platforms -- we can switch the ARM-based platforms
back to doing long 128 byte bursts in the next development cycle.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reported-by: Alan Curry <pacman@kosh.dhis.org>
Reported-by: Gabriel Paubert <paubert@iram.es>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: Fix data corruption when splicing from sockets.
Jarek Poplawski [Tue, 20 Jan 2009 01:03:56 +0000 (17:03 -0800)]
net: Fix data corruption when splicing from sockets.

The trick in socket splicing where we try to convert the skb->data
into a page based reference using virt_to_page() does not work so
well.

The idea is to pass the virt_to_page() reference via the pipe
buffer, and refcount the buffer using a SKB reference.

But if we are splicing from a socket to a socket (via sendpage)
this doesn't work.

The from side processing will grab the page (and SKB) references.
The sendpage() calls will grab page references only, return, and
then the from side processing completes and drops the SKB ref.

The page based reference to skb->data is not enough to keep the
kmalloc() buffer backing it from being reused.  Yet, that is
all that the socket send side has at this point.

This leads to data corruption if the skb->data buffer is reused
by SLAB before the send side socket actually gets the TX packet
out to the device.

The fix employed here is to simply allocate a page and copy the
skb->data bytes into that page.

This will hurt performance, but there is no clear way to fix this
properly without a copy at the present time, and it is important
to get rid of the data corruption.

With fixes from Herbert Xu.

Tested-by: Willy Tarreau <w@1wt.eu>
Foreseen-by: Changli Gao <xiaosuo@gmail.com>
Diagnosed-by: Willy Tarreau <w@1wt.eu>
Reported-by: Willy Tarreau <w@1wt.eu>
Fixed-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotg3: Fix firmware loading
Matt Carlson [Tue, 20 Jan 2009 00:57:45 +0000 (16:57 -0800)]
tg3: Fix firmware loading

This patch modifies how the tg3 driver handles device firmware.

The patch starts by consolidating David Woodhouse's earlier patch under
the same name.  Specifically, the patch moves the request_firmware call
into a separate tg3_request_firmware() function and calls that function
from tg3_open() rather than tg3_init_one().

The patch then goes on to limit the number of devices that will make
request_firmware calls.  The original firmware patch unnecessarily
requested TSO firmware for devices that did not need it.  This patch
reduces the set of devices making TSO firmware patches to approximately
the following device set : 5703, 5704, and 5705.

Finally, the patch reduces the effects of a request_firmware() failure.
For those devices that are requesting TSO firmware, the driver will turn
off the TSO capability.  If TSO firmware becomes available at a later
time, the device can be closed and then opened again to reacquire the
TSO capability.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}()
Peter P Waskiewicz Jr [Tue, 20 Jan 2009 00:55:03 +0000 (16:55 -0800)]
ixgbe: Fix usage of netif_*_all_queues() with netif_carrier_{off|on}()

netif_carrier_off() is sufficient to stop Tx into the driver.  Stopping the Tx
queues is redundant and unnecessary.  By the same token, netif_carrier_on()
will be sufficient to re-enable Tx, so waking the queues is unnecessary.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoixgbe: fix tag stripping for VLAN ID 0
Don Skidmore [Tue, 20 Jan 2009 00:54:36 +0000 (16:54 -0800)]
ixgbe: fix tag stripping for VLAN ID 0

Register VLAN ID 0 so that frames with VLAN ID 0 are received and get
their tag stripped when ixgbe is not in DCB mode.  VLAN ID 0 means
that the frame is 'priority tagged' only - it is not a VLAN, but the
priority value is the tag in valid.  The functions
ixgbe_vlan_rx_register() and ixgbe_vlan_rx_kill_vid() were moved up a
couple functions to correct compiling issues with this change.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Eric W Multanen <eric.w.multanen@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoixgbe: fix dca issue with relaxed ordering turned on
Don Skidmore [Tue, 20 Jan 2009 00:54:13 +0000 (16:54 -0800)]
ixgbe: fix dca issue with relaxed ordering turned on

The is an issue where setting Relaxed Ordering (RO) bit
(in a PCI-E write transaction) on 82598 causing the chipset
to drop DCA hints.  This patch forces RO not to be set for
descriptors as well as payload.  This will only be in effect
while DCA is enabled and no performance difference was
noticed in testing.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: Add debug info to track down GSO checksum bug
Herbert Xu [Tue, 20 Jan 2009 00:26:44 +0000 (16:26 -0800)]
net: Add debug info to track down GSO checksum bug

I'm trying to track down why people're hitting the checksum warning
in skb_gso_segment.  As the problem seems to be hitting lots of
people and I can't reproduce it or locate the bug, here is a patch
to print out more details which hopefully should help us to track
this down.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agokorina: drop leftover assignment
Phil Sutter [Thu, 15 Jan 2009 12:29:57 +0000 (12:29 +0000)]
korina: drop leftover assignment

As the assigned value is being overwritten shortly after, it can be
dropped and so the whole variable definition moved to the start of the
function.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agokorina: adjust headroom for new skb's also
Phil Sutter [Thu, 15 Jan 2009 12:29:56 +0000 (12:29 +0000)]
korina: adjust headroom for new skb's also

This is copy and paste from the original driver. As skb_reserve() is
also called within korina_alloc_ring() when initially allocating the
receive descriptors, the same should be done when allocating new space
after passing an skb to upper layers.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agokorina: fix loop back of receive descriptors
Phil Sutter [Thu, 15 Jan 2009 12:29:55 +0000 (12:29 +0000)]
korina: fix loop back of receive descriptors

After the last loop iteration, i has the value RC32434_NUM_RDS and
therefore leads to an index overflow when used afterwards to address the
last element. This is yet another another bug introduced when rewriting
parts of the driver for upstream preparation, as the original driver
used 'RC32434_NUM_RDS - 1' instead.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agocxgb3: Fix LRO misalignment
Divy Le Ray [Mon, 19 Jan 2009 06:01:32 +0000 (22:01 -0800)]
cxgb3: Fix LRO misalignment

The lro manager's frag_align_pad setting was missing,
leading to misaligned access to the skb passed up
to the stack.

Tested-by: Rick Jones <rick.jones2@hp.com>
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomacb: avoid lockup when TGO during underrun
Richard Röjfors [Mon, 19 Jan 2009 05:57:35 +0000 (21:57 -0800)]
macb: avoid lockup when TGO during underrun

In rare cases when an underrun occur, all macb buffers where consumed
and the netif_queue was stopped infinitely. This happens then the TGO
(transfer ongoing) bit in the TSR is set (and UND). It seems like
clening up after the underrun makes the driver and the macb hardware
end up in an inconsistent state. The result of this is that in the
following calls to macb_tx no TX buffers are released -> the
netif_queue was stopped, and never woken up again.

The solution is to disable the transmitter, if TGO is set, before
clening up after the underrun, and re-enable the transmitter when the
cleaning up is done.

Signed-off-by: Richard Röjfors <richard.rojfors@endian.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet/9p: fid->fid is used uninitialized
Roel Kluin [Mon, 19 Jan 2009 05:32:11 +0000 (21:32 -0800)]
net/9p: fid->fid is used uninitialized

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Version update
Eilon Greenstein [Sun, 18 Jan 2009 07:26:13 +0000 (23:26 -0800)]
bnx2x: Version update

Updating the version and the year of updated files

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Barriers for the compiler
Eilon Greenstein [Wed, 14 Jan 2009 06:42:44 +0000 (06:42 +0000)]
bnx2x: Barriers for the compiler

To make sure no swapping are made by the compiler, changed HAS_WORK to inline
functions and added all the necessary barriers

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Driver description update
Eilon Greenstein [Wed, 14 Jan 2009 06:44:28 +0000 (06:44 +0000)]
bnx2x: Driver description update

The Driver supports the 57711 and 57711E as well but the description was out of
date

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Handling PHY FW load failure
Eilon Greenstein [Wed, 14 Jan 2009 06:44:24 +0000 (06:44 +0000)]
bnx2x: Handling PHY FW load failure

If the default PHY version (0x4321) is read - the PHY FW load failed

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Legacy speeds autoneg failures
Eilon Greenstein [Wed, 14 Jan 2009 06:44:21 +0000 (06:44 +0000)]
bnx2x: Legacy speeds autoneg failures

10M/100M autoneg was not establishing link.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Prevent self test loopback failures
Eilon Greenstein [Wed, 14 Jan 2009 06:44:16 +0000 (06:44 +0000)]
bnx2x: Prevent self test loopback failures

Setting loopback requires time to take effect

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: 1G-10G toggling race
Eilon Greenstein [Wed, 14 Jan 2009 06:44:13 +0000 (06:44 +0000)]
bnx2x: 1G-10G toggling race

The HW should be configured so fast toggling between 1G and 10G will not be
missed. Make sure that the HW is re-configured in full

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Overstepping array bounds
Eilon Greenstein [Wed, 14 Jan 2009 06:44:10 +0000 (06:44 +0000)]
bnx2x: Overstepping array bounds

If the page size is > 8KB this violation happens

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Block nvram access when the device is inactive
Eilon Greenstein [Wed, 14 Jan 2009 06:44:07 +0000 (06:44 +0000)]
bnx2x: Block nvram access when the device is inactive

Don't dump eeprom when bnx2x adapter is down.  Running ethtool -e causes an eeh
without it when the device is down

Signed-off-by: Paul Larson <pl@linux.vnet.ibm.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Read chip ID
Eilon Greenstein [Wed, 14 Jan 2009 06:44:04 +0000 (06:44 +0000)]
bnx2x: Read chip ID

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Wrong HDR offset in CAM
Eilon Greenstein [Wed, 14 Jan 2009 06:43:59 +0000 (06:43 +0000)]
bnx2x: Wrong HDR offset in CAM

Has a negative side effect when sending MAC update with no content (as done in
the self-test)

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Potential race after iSCSI boot
Eilon Greenstein [Wed, 14 Jan 2009 06:43:56 +0000 (06:43 +0000)]
bnx2x: Potential race after iSCSI boot

The lock was release too soon. Make sure the HW is marked as locked until the
boot driver was unloaded from FW perspective

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Handling probe failures
Eilon Greenstein [Wed, 14 Jan 2009 06:43:52 +0000 (06:43 +0000)]
bnx2x: Handling probe failures

Failures in the probe not handled correctly - separate the flow to handle

different failures

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: Free IRQ
Eilon Greenstein [Wed, 14 Jan 2009 06:43:48 +0000 (06:43 +0000)]
bnx2x: Free IRQ

Error check could result with not freeing the IRQ

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agox86: remove kernel_physical_mapping_init() from init section
Gary Hade [Mon, 19 Jan 2009 21:46:41 +0000 (13:46 -0800)]
x86: remove kernel_physical_mapping_init() from init section

Impact: fix crash with memory hotplug enabled

kernel_physical_mapping_init() is called during memory hotplug
so it does not belong in the init section.

If the kernel is built with CONFIG_DEBUG_SECTION_MISMATCH=y on
the make command line, arch/x86/mm/init_64.c is compiled with
the -fno-inline-functions-called-once gcc option defeating
inlining of kernel_physical_mapping_init() within init_memory_mapping().

When kernel_physical_mapping_init() is not inlined it is placed
in the .init.text section according to the __init in it's current
declaration.  A later call to kernel_physical_mapping_init() during
a memory hotplug operation encounters an int3 trap because the
.init.text section memory has been freed.

This patch eliminates the crash caused by the int3 trap by moving the
non-inlined kernel_physical_mapping_init() from .init.text to .meminit.text.

Signed-off-by: Gary Hade <garyhade@us.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agofix: crash: IP: __bitmap_intersects+0x48/0x73
Ingo Molnar [Thu, 15 Jan 2009 14:46:08 +0000 (15:46 +0100)]
fix: crash: IP: __bitmap_intersects+0x48/0x73

-tip testing found this crash:

> [   35.258515] calling  acpi_cpufreq_init+0x0/0x127 @ 1
> [   35.264127] BUG: unable to handle kernel NULL pointer dereference at (null)
> [   35.267554] IP: [<ffffffff80478092>] __bitmap_intersects+0x48/0x73
> [   35.267554] PGD 0
> [   35.267554] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC

arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c is still broken: there's no
allocation of the variable mask, so we pass in an uninitialized cmd.mask
field to drv_read(), which then passes it to the scheduler which then
crashes ...

Switch it over to the much simpler constant-cpumask-pointers approach.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoi.MX31: Image Processing Unit DMA and IRQ drivers
Guennadi Liakhovetski [Mon, 19 Jan 2009 22:36:21 +0000 (15:36 -0700)]
i.MX31: Image Processing Unit DMA and IRQ drivers

i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
(PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
supported over dmaengine and irq-chip APIs respectively.

IDMAC is a specialised DMA controller, its DMA channels cannot be used for
general-purpose operations, even though it might be possible to configure
a memory-to-memory channel for memcpy operation. This driver will not work
with generic dmaengine clients, clients, wishing to use it must use
respective wrapper structures, they also must specify which channels they
require, as channels are hard-wired to specific IPU functions.

Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years agodmaengine: add async_tx_clear_ack() macro
Guennadi Liakhovetski [Mon, 19 Jan 2009 22:36:21 +0000 (15:36 -0700)]
dmaengine: add async_tx_clear_ack() macro

To complete the DMA_CTRL_ACK handling API add a async_tx_clear_ack() macro.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>