]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agousbatm: Use skb_queue_walk_safe() instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 07:27:47 +0000 (00:27 -0700)]
usbatm: Use skb_queue_walk_safe() instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agozd1211: Use skb_queue_walk() instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 07:23:30 +0000 (00:23 -0700)]
zd1211: Use skb_queue_walk() instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agode4x5: Use skb_queue_head instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 07:19:19 +0000 (00:19 -0700)]
de4x5: Use skb_queue_head instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)
Jean Delvare [Mon, 22 Sep 2008 12:15:53 +0000 (14:15 +0200)]
ALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)

Convert the tlv320aic3x codec driver to the new (standard) device
driver binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Vladimir Barinov <vbarinov@ru.mvista.com>
Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda - Fix ALC662 DAC mixer mutes also for auto config model
Herton Ronaldo Krzesinski [Thu, 18 Sep 2008 19:41:49 +0000 (16:41 -0300)]
ALSA: hda - Fix ALC662 DAC mixer mutes also for auto config model

In previous change "[ALSA] hda-codec - Fix ALC662 DAC mixer mutes", I
missed to fix the mixer mute switches also for the auto config model of
ALC662. Now mute for mixer items "Front", "Surround", "Center" and "LFE"
when available will work too with "auto" model.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda - Add PCI subsystem ID for MacBookPro4,1
David Woodhouse [Thu, 18 Sep 2008 20:37:13 +0000 (13:37 -0700)]
ALSA: hda - Add PCI subsystem ID for MacBookPro4,1

This seems to work if I tell it that it's a mbp3. Not sure if there are
actually any differences.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda: SPDIF mux fixes for STAC927x
Matthew Ranostay [Tue, 16 Sep 2008 14:39:37 +0000 (10:39 -0400)]
ALSA: hda: SPDIF mux fixes for STAC927x

Corrected bounds-checking in stac92xx_auto_create_mux_input_ctls() and added a spec->spdif_labels
pointer for custom SPDIF mux labels for non-standard codec connections.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agosound: ASoC: Add WM8750 SPI support
Mark Brown [Tue, 16 Sep 2008 11:51:26 +0000 (12:51 +0100)]
sound: ASoC: Add WM8750 SPI support

Implement SPI support for WM8750, cut'n'pasting from the support for
WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format
is the same for both codecs.

Also fix a cut'n'pasted comment in the I2C side of the driver (which was
clearly written in the same way) while we're at it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agosound: ASoC: DAPM support for ADC on WM9713 PCM interface
Mark Brown [Mon, 15 Sep 2008 14:51:13 +0000 (15:51 +0100)]
sound: ASoC: DAPM support for ADC on WM9713 PCM interface

The stereo ADC in the WM9713 can be used to produce data for both the
standard AC97 interface and the additional voice PCM interface. Support
use on both by defining virtual ADCs tied to each accepting the output
from the actual ADCs.

Reported-by: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agosound: ASoC: Fix dependency on AC97_BUS
Mark Brown [Mon, 15 Sep 2008 14:57:36 +0000 (15:57 +0100)]
sound: ASoC: Fix dependency on AC97_BUS

When built with AC97 support the ASoC core depends on AC97_BUS so force
it to be available Kconfig.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA VIA: Replace buggy Mic Boost
Harald Welte [Mon, 15 Sep 2008 14:43:23 +0000 (22:43 +0800)]
ALSA: HDA VIA: Replace buggy Mic Boost

VT1708S' Mic Boost should be hidden in hardware design according to some
customers' requirements.  However, in case of bugs, it has to be exhibited to
normal users, so we need to:
* open a software backdoor, which is disabled by default in hardware
* re-write .tlv & .info, to indicate the actual necessary info, which we cannot
  get from amplifier's capabiliies

Signed-off-by: Logan Li <LoganLi@viatech.com.cn>
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA VIA: Fix 2nd S/PDIF out function
Harald Welte [Mon, 15 Sep 2008 14:42:26 +0000 (22:42 +0800)]
ALSA: HDA VIA: Fix 2nd S/PDIF out function

As it seems, the recently-sent patch for the 2nd S/PDIF (HDMI) output
is not working with alsa-kernel 1.0.18rc3.

This patch makes it work by
* activating the second S/PDIF output pin in the pin config
* consolidating the dig_playback_pcm_prepare() with extra_dig_pcm_prepare()
  functions
* remove the need for an extra hda_pcm_stream structure and rather represents
  the second digital output as substream within the primary S/PDIF digital out
  stream.

Signed-off-by: Logan Li <LoganLi@viatech.com.cn>
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA VIA: Fix crash on codecs without Headphone
Harald Welte [Mon, 15 Sep 2008 14:41:31 +0000 (22:41 +0800)]
ALSA: HDA VIA: Fix crash on codecs without Headphone

Don't enumerate via_hp_mixer while hp_mux is null (headphone does not exist),
to fix the crash of via_independent_hp_info (via_hp_mixer's .info), which will
reference hp_mux.

Signed-off-by: Logan Li <LoganLi@viatech.com.cn>
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: Separate common pxa2xx-pcm code
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:20 +0000 (05:01 +0400)]
ALSA: Separate common pxa2xx-pcm code

ASoC and non-ASoC drivers for PCM DMA on PXA share lots of common code.
Move it to pxa2xx-lib.

[Fixed some checkpatch warnings -- broonie]

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: pxa2xx-ac97-lib: support building for several CPUs
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:18 +0000 (05:01 +0400)]
ALSA: pxa2xx-ac97-lib: support building for several CPUs

Support building of pxa2xx-ac97-lib for several CPUs by making code
run-time selected, not only compile-time.

[Fixed 3XX->3xx typos in ifdef checks -- broonie.]

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: Separate common pxa2xx-ac97 code
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:17 +0000 (05:01 +0400)]
ALSA: Separate common pxa2xx-ac97 code

ASoC and non-ASoC drivers for ACLINK on PXA share lot's of common code.
Move all common code into separate module snd-pxa2xx-lib.

[Fixed handing of SND_AC97_CODEC in Kconfig and some checkpatch warnings
 -- broonie]

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agosound: ASoC: Support runtime selection of CPU in pxa2xx-i2s
Dmitry Baryshkov [Wed, 10 Sep 2008 01:01:19 +0000 (05:01 +0400)]
sound: ASoC: Support runtime selection of CPU in pxa2xx-i2s

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agosound: ASoC: Add WM8971 CODEC driver
Kenneth Kiraly [Wed, 10 Sep 2008 18:33:32 +0000 (19:33 +0100)]
sound: ASoC: Add WM8971 CODEC driver

The WM8971 is a low power, high quality stereo codec designed for
portable digital audio applications.

This driver was originally written by Kenneth Kiraly.  While out of tree
it has had updates to reflect current kernel APIs and coding standards
from Graeme Gregory and Mark Brown.

Signed-off-by: Kenneth Kiraly <kiraly@lab126.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.
Robin H. Johnson [Sat, 13 Sep 2008 23:55:01 +0000 (16:55 -0700)]
ALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.

Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus
on their Asus P5Q Premium and Pro boards.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA: patch_analog: Implement multiple outputs for AD1988
Robin H. Johnson [Sat, 13 Sep 2008 23:54:58 +0000 (16:54 -0700)]
ALSA: HDA: patch_analog: Implement multiple outputs for AD1988

Implement the slave_dig_outs for AD1989 cards. Untested due to lack of
hardware.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA: hda_proc: Fix printf format specifier
Robin H. Johnson [Sat, 13 Sep 2008 23:54:57 +0000 (16:54 -0700)]
ALSA: HDA: hda_proc: Fix printf format specifier

The Pincap output had a typod format specifier, leading to an extraneous "08"
in the output, which is a reserved bit of the Vref field, and was really
confused :-).

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA: hda_local: Less magic numbers.
Robin H. Johnson [Sat, 13 Sep 2008 23:54:59 +0000 (16:54 -0700)]
ALSA: HDA: hda_local: Less magic numbers.

Explain some of the magic numbers I saw while trying to fix the AD1989 SPDIF
issue. Maybe should just use the expanded form directly in the verbs?

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: HDA: patch_analog: Fix SPDIF output on AD1989B
Robin H. Johnson [Sat, 13 Sep 2008 23:55:00 +0000 (16:55 -0700)]
ALSA: HDA: patch_analog: Fix SPDIF output on AD1989B

The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they
actually work. Also initialize the HDMI SPDIF at the same time.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda: 92hd73xx fixes
Matthew Ranostay [Sat, 13 Sep 2008 20:45:39 +0000 (16:45 -0400)]
ALSA: hda: 92hd73xx fixes

Added support for defining the number of amps and the creation
of the private_dimux dynamically for the 92hd73xx codec family.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
[Fixed a typo by tiwai]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: Fix section for snd-aica platform driver
Uwe Kleine-König [Sun, 14 Sep 2008 19:32:33 +0000 (21:32 +0200)]
ALSA: Fix section for snd-aica platform driver

Don't use __init but __devinit to define probe function.  A pointer to
snd_aica_probe is passed to the core via platform_driver_register and so the
function must not disappear after the module is loaded.  Using __init
and having HOTPLUG=y and SND_AICA=m the following probably oopses:

echo -n AICA > /sys/bus/platform/driver/AICA/unbind
echo -n AICA > /sys/bus/platform/driver/AICA/bind

Strange enough add_aicamixer_controls which is only called by
snd_aica_probe was already using __devinit.

While at it move the remove function to .devexit.text section.

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Cc: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda: fixed hp_nid DAC for DELL_M6
Matthew Ranostay [Sat, 13 Sep 2008 14:36:58 +0000 (10:36 -0400)]
ALSA: hda: fixed hp_nid DAC for DELL_M6

This patch sets the HP out not used by the "Headphone to Line Out" switch to the
hp_nid.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda: Input port AMP controls
Matthew Ranostay [Thu, 11 Sep 2008 13:49:39 +0000 (09:49 -0400)]
ALSA: hda: Input port AMP controls

Added support for controlling hardware gain amps on input ports
using a volume control mixer with a mux selecting the port being controlled.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda: Added a STAC_HP_M4 quirk
Matthew Ranostay [Fri, 12 Sep 2008 16:02:30 +0000 (12:02 -0400)]
ALSA: hda: Added a STAC_HP_M4 quirk

Added a new quirk for STAC_HP_M4 series for an 92hd75xxx family laptop.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoALSA: hda: fix oopses in snd-hda-intel after digital slave support additions
Herton Ronaldo Krzesinski [Sat, 13 Sep 2008 14:44:29 +0000 (16:44 +0200)]
ALSA: hda: fix oopses in snd-hda-intel after digital slave support additions

Many places fail to check if codec has slave_dig_outs entries (the most common
case is not having any entry), leading to various possible oopses in hda_codec
code.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agosound: ASoC: Fix WM8731 SPI write
Alan Horstmann [Tue, 9 Sep 2008 18:25:49 +0000 (19:25 +0100)]
sound: ASoC: Fix WM8731 SPI write

Ensure wm8731_spi_write byte order is consistent regardless of
endianess.

Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agopkt_sched: Check the state of tx_queue in dequeue_skb()
Jarek Poplawski [Tue, 23 Sep 2008 05:16:23 +0000 (22:16 -0700)]
pkt_sched: Check the state of tx_queue in dequeue_skb()

Check in dequeue_skb() the state of tx_queue for requeued skb to save
on locking and re-requeuing, and possibly remove the current check in
qdisc_run(). Based on the idea of Alexander Duyck.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopkt_sched: Always use q->requeue in dev_requeue_skb().
David S. Miller [Tue, 23 Sep 2008 05:15:58 +0000 (22:15 -0700)]
pkt_sched: Always use q->requeue in dev_requeue_skb().

There is no reason to call into the complicated qdiscs
just to remember the last SKB where we found the device
blocked.

The SKB is outside of the qdiscs realm at this point.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopkt_sched: Make qdisc->gso_skb a list.
David S. Miller [Tue, 23 Sep 2008 05:15:30 +0000 (22:15 -0700)]
pkt_sched: Make qdisc->gso_skb a list.

The idea is that we can use this to get rid of
->requeue().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().
David S. Miller [Tue, 23 Sep 2008 05:14:36 +0000 (22:14 -0700)]
sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: Fix bus in SKB queue splicing interfaces.
David S. Miller [Tue, 23 Sep 2008 04:57:21 +0000 (21:57 -0700)]
net: Fix bus in SKB queue splicing interfaces.

Handle the case of head being non-empty, by adding list->qlen
to head->qlen instead of using direct assignment.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodrivers/rtc/Kconfig: don't build rtc-cmos.o on sparc32
Andrew Morton [Tue, 23 Sep 2008 04:40:04 +0000 (21:40 -0700)]
drivers/rtc/Kconfig: don't build rtc-cmos.o on sparc32

Fix for linux-next's

: Author: David S. Miller <davem@davemloft.net>  2008-08-28 19:54:17
: Committer: David S. Miller <davem@davemloft.net>  2008-08-29 14:16:45
: Parent: 7f60459921bd24e86b21e07c42244c510b4f46b2 (Blackfin RTC Driver: BF561 not have on-chip RTC)
: Child:  cca4c231028405950a15f5a27d7326d18d909784 (rtc: Add TI BQ4802 RTC driver.)
: Branches: git-alsa-tiwai, linux-next
: Follows: v2.6.27-rc4
: Precedes: next-20080902
:
:     rtc: Allow RTC_DRV_CMOS to be used on SPARC.

In file included from drivers/rtc/rtc-cmos.c:40:
include/asm-generic/rtc.h: In function 'rtc_is_updating':
include/asm-generic/rtc.h:40: error: 'rtc_port' undeclared (first use in this function)
include/asm-generic/rtc.h:40: error: (Each undeclared identifier is reported only once
include/asm-generic/rtc.h:40: error: for each function it appears in.)
include/asm-generic/rtc.h: In function 'get_rtc_time':
include/asm-generic/rtc.h:73: error: 'rtc_port' undeclared (first use in this function)
include/asm-generic/rtc.h: In function 'set_rtc_time':
include/asm-generic/rtc.h:160: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_read_alarm':
drivers/rtc/rtc-cmos.c:193: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_checkintr':
drivers/rtc/rtc-cmos.c:255: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_irq_enable':
drivers/rtc/rtc-cmos.c:272: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_irq_disable':
drivers/rtc/rtc-cmos.c:292: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_set_alarm':
drivers/rtc/rtc-cmos.c:337: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_irq_set_freq':
drivers/rtc/rtc-cmos.c:378: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_procfs':
drivers/rtc/rtc-cmos.c:455: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_nvram_read':
drivers/rtc/rtc-cmos.c:519: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_nvram_write':
drivers/rtc/rtc-cmos.c:551: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_interrupt':
drivers/rtc/rtc-cmos.c:588: error: 'rtc_port' undeclared (first use in this function)
drivers/rtc/rtc-cmos.c: In function 'cmos_do_probe':
drivers/rtc/rtc-cmos.c:722: error: 'rtc_port' undeclared (first use in this function)

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: network device name ifalias support
Stephen Hemminger [Tue, 23 Sep 2008 04:28:11 +0000 (21:28 -0700)]
net: network device name ifalias support

This patch add support for keeping an additional character alias
associated with an network interface. This is useful for maintaining
the SNMP ifAlias value which is a user defined value. Routers use this
to hold information like which circuit or line it is connected to. It
is just an arbitrary text label on the network device.

There are two exposed interfaces with this patch, the value can be
read/written either via netlink or sysfs.

This could be maintained just by the snmp daemon, but it is more
generally useful for other management tools, and the kernel is good
place to act as an agreed upon interface to store it.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agousbnet: Use skb_queue_walk_safe() instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 03:18:47 +0000 (20:18 -0700)]
usbnet: Use skb_queue_walk_safe() instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: kernel documentation
Remi Denis-Courmont [Tue, 23 Sep 2008 03:09:46 +0000 (20:09 -0700)]
Phonet: kernel documentation

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: emit errors when a packet cannot be delivered locally
Remi Denis-Courmont [Tue, 23 Sep 2008 03:09:13 +0000 (20:09 -0700)]
Phonet: emit errors when a packet cannot be delivered locally

When there is no listener socket for a received packet, send an error
back to the sender.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: proc interface for port range
Remi Denis-Courmont [Tue, 23 Sep 2008 03:08:39 +0000 (20:08 -0700)]
Phonet: proc interface for port range

Phonet endpoints are bound to individual ports.
This provides a /proc/sys/net/phonet (or sysctl) interface for
selecting the range of automatically allocated ports (much like the
ip_local_port_range with IPv4).

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: provide MAC header operations
Remi Denis-Courmont [Tue, 23 Sep 2008 03:08:04 +0000 (20:08 -0700)]
Phonet: provide MAC header operations

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: Phonet datagram transport protocol
Remi Denis-Courmont [Tue, 23 Sep 2008 03:05:57 +0000 (20:05 -0700)]
Phonet: Phonet datagram transport protocol

This provides the basic SOCK_DGRAM transport protocol for Phonet.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: common socket glue
Remi Denis-Courmont [Tue, 23 Sep 2008 03:05:19 +0000 (20:05 -0700)]
Phonet: common socket glue

This provides the socket API for the Phonet protocols family.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: Netlink interface
Remi Denis-Courmont [Tue, 23 Sep 2008 03:04:30 +0000 (20:04 -0700)]
Phonet: Netlink interface

This provides support for configuring Phonet addresses, notifying
Phonet configuration changes, and dumping the configuration.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: network device and address handling
Remi Denis-Courmont [Tue, 23 Sep 2008 03:03:44 +0000 (20:03 -0700)]
Phonet: network device and address handling

This provides support for adding Phonet addresses to and removing
Phonet addresses from network devices.

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: add CONFIG_PHONET
Remi Denis-Courmont [Tue, 23 Sep 2008 03:03:00 +0000 (20:03 -0700)]
Phonet: add CONFIG_PHONET

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: PF_PHONET protocol family support
Remi Denis-Courmont [Tue, 23 Sep 2008 03:02:10 +0000 (20:02 -0700)]
Phonet: PF_PHONET protocol family support

This is the basis for the Phonet protocol families, and introduces
the ETH_P_PHONET packet type and the PF_PHONET socket family.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPhonet: global definitions
Remi Denis-Courmont [Tue, 23 Sep 2008 02:51:15 +0000 (19:51 -0700)]
Phonet: global definitions

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoipsec: Fix xfrm_state_walk race
Herbert Xu [Tue, 23 Sep 2008 02:48:19 +0000 (19:48 -0700)]
ipsec: Fix xfrm_state_walk race

As discovered by Timo Teräs, the currently xfrm_state_walk scheme
is racy because if a second dump finishes before the first, we
may free xfrm states that the first dump would walk over later.

This patch fixes this by storing the dumps in a list in order
to calculate the correct completion counter which cures this
problem.

I've expanded netlink_cb in order to accomodate the extra state
related to this.  It shouldn't be a big deal since netlink_cb
is kmalloced for each dump and we're just increasing it by 4 or
8 bytes.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agocassini: use request_firmware
Jaswinder Singh [Tue, 23 Sep 2008 02:27:10 +0000 (19:27 -0700)]
cassini: use request_firmware

Firmware blob looks like this...
        __le16 load_address
        unsigned char data[]

[akpm@linux-foundation.org: include vmalloc.h]
Signed-off-by: Jaswinder Singh <jaswinder@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet/atm/lec.c: drop code after return
Julia Lawall [Tue, 23 Sep 2008 02:24:45 +0000 (19:24 -0700)]
net/atm/lec.c: drop code after return

The break after the return serves no purpose.

Signed-off-by: Julia Lawall <julia@diku.dk>
Reviewed-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agocifs: have find_writeable_file prefer filehandles opened by same task
Jeff Layton [Tue, 23 Sep 2008 01:33:33 +0000 (21:33 -0400)]
cifs: have find_writeable_file prefer filehandles opened by same task

When the CIFS client goes to write out pages, it needs to pick a
filehandle to write to. find_writeable_file however just picks the
first filehandle that it finds. This can cause problems when a lock
is issued against a particular filehandle and we pick a different
filehandle to write to.

This patch tries to avert this situation by having find_writable_file
prefer filehandles that have a pid that matches the current task.
This seems to fix lock test 11 from the connectathon test suite when
run against a windows server.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agodrivers/net/wan: Use DIV_ROUND_UP
Julia Lawall [Tue, 23 Sep 2008 02:23:48 +0000 (19:23 -0700)]
drivers/net/wan: Use DIV_ROUND_UP

The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

An extract of the semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@haskernel@
@@

#include <linux/kernel.h>

@depends on haskernel@
expression n,d;
@@

(
- (n + d - 1) / d
+ DIV_ROUND_UP(n,d)
|
- (n + (d - 1)) / d
+ DIV_ROUND_UP(n,d)
)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP((n),d)
+ DIV_ROUND_UP(n,d)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP(n,(d))
+ DIV_ROUND_UP(n,d)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodrivers/atm: Use DIV_ROUND_UP
Julia Lawall [Tue, 23 Sep 2008 02:22:58 +0000 (19:22 -0700)]
drivers/atm: Use DIV_ROUND_UP

The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

In the case of the file drivers/atm/eni.c, I am a little bit suspicious of
the -1 at the end of the affected expression.  Please check that that is
what is wanted.

An extract of the semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@haskernel@
@@

#include <linux/kernel.h>

@depends on haskernel@
expression n,d;
@@

(
- (n + d - 1) / d
+ DIV_ROUND_UP(n,d)
|
- (n + (d - 1)) / d
+ DIV_ROUND_UP(n,d)
)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP((n),d)
+ DIV_ROUND_UP(n,d)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP(n,(d))
+ DIV_ROUND_UP(n,d)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agohci_usb: replace mb with smp_mb
Ming Lei [Tue, 23 Sep 2008 02:21:51 +0000 (19:21 -0700)]
hci_usb: replace mb with smp_mb

smp_mb is enough for ordering memory operations among processors,and mb is
more expensive than smp_mb for UP machine, so replace it with smp_mb().

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: em_cmp.c use unaligned access helpers
Harvey Harrison [Tue, 23 Sep 2008 02:20:51 +0000 (19:20 -0700)]
net: em_cmp.c use unaligned access helpers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoirda: follow lspci device/vendor style
Bjorn Helgaas [Tue, 23 Sep 2008 02:20:06 +0000 (19:20 -0700)]
irda: follow lspci device/vendor style

Use "[%04x:%04x]" for PCI vendor/device IDs to follow the format used by
lspci(8).

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomISDN: misc timerdev fixes
Andi Kleen [Tue, 23 Sep 2008 02:18:15 +0000 (19:18 -0700)]
mISDN: misc timerdev fixes

- Remove noop VFS stubs. The VFS does that on a NULL pointer anyways.
- Fix timer handler prototype to be correct
- Comment ugly SMP race I didn't fix.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomISDN: annotate iomem pointer and add statics
Harvey Harrison [Tue, 23 Sep 2008 02:16:51 +0000 (19:16 -0700)]
mISDN: annotate iomem pointer and add statics

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomISDN: endian annotations for struct zt
Harvey Harrison [Tue, 23 Sep 2008 02:16:20 +0000 (19:16 -0700)]
mISDN: endian annotations for struct zt

Found two possible bugs where the z1 value was used directly without
byteswapping.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodrivers/isdn/capi/kcapi.c: Adjust error handling code involving capi_ctr_put
Julia Lawall [Tue, 23 Sep 2008 02:04:54 +0000 (19:04 -0700)]
drivers/isdn/capi/kcapi.c: Adjust error handling code involving capi_ctr_put

After calling capi_ctr_get, error handling code should call capi_ctr_put.

The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r@
expression x,E;
statement S;
position p1,p2,p3;
@@

(
if ((x = capi_ctr_get@p1(...)) == NULL || ...) S
|
x = capi_ctr_get@p1(...)
... when != x
if (x == NULL || ...) S
)
<...
if@p3 (...) { ... when != capi_ctr_put(x)
                  when != if (x) { ... capi_ctr_put(x); ...}
    return@p2 ...;
}
...>
(
return x;
|
return 0;
|
x = E
|
E = x
|
capi_ctr_put(x)
)

@exists@
position r.p1,r.p2,r.p3;
expression x;
int ret != 0;
statement S;
@@

* x = capi_ctr_get@p1(...)
  <...
* if@p3 (...)
  S
  ...>
* return@p2 \(NULL\|ret\);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetfilter: xt_time gives a wrong monthday in a leap year
Kaihui Luo [Tue, 23 Sep 2008 02:02:36 +0000 (19:02 -0700)]
netfilter: xt_time gives a wrong monthday in a leap year

The function localtime_3 in xt_time.c gives a wrong monthday in a leap
year after 28th 2.  calculating monthday should use the array
days_since_leapyear[] not days_since_year[] in a leap year.

Signed-off-by: Kaihui Luo <kaih.luo@gmail.com>
Acked-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc64: Fix missing devices due to PCI bridge test in of_create_pci_dev().
David S. Miller [Mon, 22 Sep 2008 22:42:24 +0000 (15:42 -0700)]
sparc64: Fix missing devices due to PCI bridge test in of_create_pci_dev().

Just like in the arch/sparc64/kernel/of_device.c code fix commit
071d7f4c3b411beae08d27656e958070c43b78b4 ("sparc64: Fix SMP bootup
with CONFIG_STACK_DEBUG or ftrace.") we have to check the OF device
node name for "pci" instead of relying upon the 'device_type' property
being there on all PCI bridges.

Tested by Meelis Roos, and confirmed to make the PCI QFE devices
reappear on the E3500 system.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoCPUFREQ: powernow-k8: Try to detect old BIOS, not supporting CPU freq on a recent...
Thomas Renninger [Mon, 1 Sep 2008 12:27:03 +0000 (14:27 +0200)]
CPUFREQ: powernow-k8: Try to detect old BIOS, not supporting CPU freq on a recent AMD CPUs.

Make use of FW_BUG interface to give vendors and users the ability to
automatically check for powernow-k8 related BIOS bugs by:
dmesg |grep "Firmware Bug"

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoACPI: cpufreq, processor: Detect old BIOS, not supporting CPU freq on a recent CPU.
Thomas Renninger [Mon, 1 Sep 2008 12:27:04 +0000 (14:27 +0200)]
ACPI: cpufreq, processor: Detect old BIOS, not supporting CPU freq on a recent CPU.

On Intel CPUs it is rather common and a good hint that BIOSes which do provide
_PPC func, but not the frequencies itself in _PSS function, are old and need
to be updated for CPU freq support.

Tell the user/vendor he has a BIOS/firmware problem.
Make use of FW_BUG interface to give vendors and users the ability to
automatically check with (or let linuxfirmwarekit do that):
dmesg |grep "Firmware Bug"

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoIntroduce FW_BUG, FW_WARN and FW_INFO to consistenly tell users about BIOS bugs
Thomas Renninger [Mon, 1 Sep 2008 12:27:02 +0000 (14:27 +0200)]
Introduce FW_BUG, FW_WARN and FW_INFO to consistenly tell users about BIOS bugs

The idea is to add this to printk after the severity:
printk(KERN_ERR FW_BUG "This is not our fault, BIOS developer: fix it by
simply add ...\n");

If a Firmware issue should be hidden, because it is
work-arounded, but you still want to see something popping up e.g.
for info only:
printk(KERN_INFO FW_INFO "This is done stupid, we can handle it,
but it should better be avoided in future\n");

or on the Linuxfirmwarekit to tell vendors that they did something
stupid or wrong without bothering the user:
printk(KERN_INFO FW_BUG "This is done stupid, we can handle it,
but it should better be avoided in future\n");

Some use cases:
  - If a user sees a [Firmware Bug] message in the kernel
    he should first update the BIOS before wasting time with
    debugging and submiting on old firmware code to mailing
    lists.

  - The linuxfirmwarekit (http://www.linuxfirmwarekit.org)
    tries to detect firmware bugs. It currently is doing that
    in userspace which results in:
        - Huge test scripts that could be a one liner in the kernel
        - A lot of BIOS bugs are already absorbed by the kernel

What do we need such a stupid linuxfirmwarekit for?

  - Vendors: Can test their BIOSes for Linux compatibility.
    There will be the time when vendors realize that the test utils
    on Linux are more strict and using them increases the qualitity
    and stability of their products.

  - Vendors: Can easily fix up their BIOSes and be more Linux
    compatible by:
    dmesg |grep "Firmware Bug"
    and send the result to their BIOS developer colleagues who should
    know what the messages are about and how to fix them, without
    the need of studying kernel code.

  - Distributions: can do a first automated HW/BIOS checks.
    This can then be done without the need of asking kernel developers
    who need to dig down the code and explain the details.
    Certification can/will just be rejected until
    dmesg |grep "Firmware Bug" is empty.

  - Thus this can be used as an instrument to enforce cleaner BIOS
    code. Currently every stupid Windows ACPI bug is
    re-implemented in Linux which is a rather unfortunate situation.
    We already have the power to avoid this in e.g. memory
    or cpu hot-plug ACPI implementations, because Linux certification
    is a must for most vendors in the server area.
    Working towards being able to do that in the laptop area
    (vendors are starting to look at Linux here also and will use this tool)
    is the goal. At least provide them a tool to make it as easy
    for this guys (e.g. not needing to browse kernel code) as possible.

  - The ordinary Linux user: can go into the next shop, boots the
    firmwarekit on his most preferred machines. He chooses one without
    BIOS bugs. Unsupported HW is ok, he likes to try out latest projects
    which might support them or likes to dig on it on his own, but he
    hates to workaround broken BIOSes like hell.

I double checked with the firmwarekit.
There they have:
So the mapping generally is (also depending on how likely the BIOS is
to blame, this could sometimes be difficult):
FW_INFO  = INFO
FW_WARN  = WARN
FW_BUG   = FAIL

For more info about the linuxfirmwarekit and why this is needed
can be found here:
http://www.linuxfirmwarekit.org

While severity matches with the firmwarekit, it might be tricky
to hide messages from the user.
E.g. we recently found out that on HP BIOSes negative temperatures
are returned, which seem to indicate that the thermal zone is
invalid.
We can work around that gracefully by ignoring the thermal zone
and we do not want to bother the ordinary user with a frightening
message: Firmware Bug: thermal management absolutely broken
but want to hide it from the user.

But in the linuxfirmwarekit this should be shown as a real
show stopper (the temperatures could really be wrong,
broken thermal management is one of the worst things
that can happen and the BIOS guys of the machine must
implement this properly).

It is intended to do that (hide it from the user with
KERN_INFO msg, but still print it as a BIOS bug) by:
printk(KERN_INFO FW_BUG "Negativ temperature values detected.
Try to workarounded, BIOS must get fixed\n");
Hope that works out..., no idea how to better hide it
as printk is the only way to easily provide this functionality.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Mon, 22 Sep 2008 22:29:05 +0000 (15:29 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

17 years agocifs: don't use GFP_KERNEL with GFP_NOFS
Pekka Enberg [Mon, 15 Sep 2008 10:22:54 +0000 (13:22 +0300)]
cifs: don't use GFP_KERNEL with GFP_NOFS

GFP_KERNEL and GFP_NOFS are mutually exclusive. If you combine them, you end up
with plain GFP_KERNEL which can deadlock in cases where you really want
GFP_NOFS.

Cc: Steve French <sfrench@samba.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years ago[Bluetooth] Fix USB disconnect handling of btusb driver
Marcel Holtmann [Mon, 22 Sep 2008 22:16:36 +0000 (00:16 +0200)]
[Bluetooth] Fix USB disconnect handling of btusb driver

The USB transport specification for Bluetooth splits the ACL and SCO
handling into two separate interfaces. In Linux it possible to probe
and disconnect these interfaces independently. So make sure that both
interfaces are tightly bound together.

This fixes the suspend regression that some people have expierenced.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
17 years ago[Bluetooth] Fix wrong URB handling of btusb driver
Marcel Holtmann [Mon, 22 Sep 2008 22:16:36 +0000 (00:16 +0200)]
[Bluetooth] Fix wrong URB handling of btusb driver

The btusb driver contains two typos that result in some buggy behavior,
but the impact is not immediately visible.

During initialization the submitting of interrupt URBs might fail and
then make sure to remove the correct flag and not one of the hci_dev
flags.

When closing down the interface make sure to kill the anchor for the
ISOC URBs and not kill the interrupt URBs twice.

Also cancel any scheduled work when closing down the interface.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
17 years ago[Bluetooth] Fix I/O errors on MacBooks with Broadcom chips
Marcel Holtmann [Mon, 22 Sep 2008 22:16:35 +0000 (00:16 +0200)]
[Bluetooth] Fix I/O errors on MacBooks with Broadcom chips

The newer MacBooks contain a Broadcom based Bluetooth chip and to make
this work properly, HCI_Reset must be send first. If HCI_Reset is not
used then a lot of I/O errors show up and its triggers packets from
non-existent ACL links.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
17 years agoath9k: Fix IRQ nobody cared issue with ath9k
Senthil Balasubramanian [Mon, 22 Sep 2008 08:52:39 +0000 (14:22 +0530)]
ath9k: Fix IRQ nobody cared issue with ath9k

IRQs should be disabled before calling free_irq. Also flush pending
IRQs. Pasted the kernel log message for reference.

kernel: irq 17: nobody cared (try booting with the "irqpoll" option)
kernel:  [<c0252d2c>] __report_bad_irq+0x2e/0x6f
kernel:  [<c0252f22>] note_interrupt+0x1b5/0x207
kernel:  [<c025258b>] ? handle_IRQ_event+0x21/0x48
kernel:  [<c02534cb>] handle_fasteoi_irq+0x8e/0xad
kernel:  [<c0205650>] do_IRQ+0x6c/0x84
kernel:  [<c020425f>] common_interrupt+0x23/0x28
kernel:  [<c034f6f6>] ? acpi_idle_enter_simple+0x198/0x205
kernel:  [<c044686c>] ? menu_select+0x5c/0x78
kernel:  [<c0445a95>] cpuidle_idle_call+0x59/0x89
kernel:  [<c02029d7>] cpu_idle+0xae/0xcf
kernel:  [<c0543102>] rest_init+0x4e/0x50
kernel:  =======================
kernel: handlers:
kernel: [<f88fdd26>] (ath_isr+0x0/0x13a [ath9k])
kernel: Disabling IRQ #17

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Tested-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[IA64] kexec fails on systems with blocks of uncached memory
Jay Lan [Mon, 22 Sep 2008 21:21:19 +0000 (14:21 -0700)]
[IA64] kexec fails on systems with blocks of uncached memory

Currently a memory segment in memory map with attribute of EFI_MEMORY_UC
is denoted as "System RAM" in /proc/iomem, while memory of attribute
(EFI_MEMORY_WB|EFI_MEMORY_UC) is also labeled the same.

The kexec utility then includes uncached memory as part of vmcore. The
kdump kernel MCA'ed when it tries to save the vmcore to a disk. A normal
"cached" access may cause MCAs.

This patch would label memory with attribute of EFI_MEMORY_UC only as
"Uncached RAM" so that kexec would know not to include it in the vmcore.
I will submit a separate kexec-tools patch to the kexec list.

Signed-off-by: Jay Lan <jlan@sgi.com>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years ago[IA64] Ski simulator doesn't need check_sal_cache_flush
Alex Chiang [Wed, 17 Sep 2008 00:25:33 +0000 (18:25 -0600)]
[IA64] Ski simulator doesn't need check_sal_cache_flush

Peter Chubb reported that commit 3463a93def55c309f3c0d0a8aaf216be3be42d64
(Update check_sal_cache_flush to use platform_send_ipi()) broke
Ski because it does not implement IPIs.

Tony Luck suggested we just #ifndef out the call (since the simulator
does not have the SAL bug that this code is attempting to detect and
workaround)

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
17 years agowireless: zd1211rw: add device ID fix wifi dongle "trust nw-3100"
born.into.silence@gmail.com [Fri, 19 Sep 2008 23:47:06 +0000 (16:47 -0700)]
wireless: zd1211rw: add device ID fix wifi dongle "trust nw-3100"

akpm: taken from http://bugzilla.kernel.org/show_bug.cgi?id=11587

I bought the wifi dongle trust nw-3100 wich is in fact a zd1211rw.  Its
hardware id was missing in the sources, adding it made it work flawlessly.

Cc: Daniel Drake <dsd@gentoo.org>
Cc: Ulrich Kunitz <kune@deine-taler.de>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: connectivity is lost after Group rekeying is done
Senthil Balasubramanian [Wed, 17 Sep 2008 07:09:49 +0000 (12:39 +0530)]
ath9k: connectivity is lost after Group rekeying is done

Connectivtiy is lost after Group rekeying is done. The keytype
maintained by ath9k is reset when group key is updated. Though
sc_keytype can be reset only for broadcast key the proper fix
would be to use mac80211 provided key type from txinfo during
xmit and get rid of sc_keytype from ath9k ath_softc.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Tested-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoext4: Don't use 'struct dentry' for internal lookups
Theodore Ts'o [Mon, 22 Sep 2008 19:21:01 +0000 (15:21 -0400)]
ext4: Don't use 'struct dentry' for internal lookups

This is a port of a patch from Linus which fixes a 200+ byte stack
usage problem in ext4_get_parent().

It's more efficient to pass down only the actual parts of the dentry
that matter: the parent inode and the name, instead of allocating a
struct dentry on the stack.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoext4/jbd2: Avoid WARN() messages when failing to write to the superblock
Theodore Ts'o [Tue, 7 Oct 2008 01:35:40 +0000 (21:35 -0400)]
ext4/jbd2: Avoid WARN() messages when failing to write to the superblock

This fixes some very common warnings reported by kerneloops.org

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
17 years agoiommu: remove fullflush and nofullflush in IOMMU generic option
FUJITA Tomonori [Fri, 19 Sep 2008 16:23:30 +0000 (01:23 +0900)]
iommu: remove fullflush and nofullflush in IOMMU generic option

This patch against tip/x86/iommu virtually reverts
2842e5bf3115193f05dc9dac20f940e7abf44c1a. But just reverting the
commit breaks AMD IOMMU so this patch also includes some fixes.

The above commit adds new two options to x86 IOMMU generic kernel boot
options, fullflush and nofullflush. But such change that affects all
the IOMMUs needs more discussion (all IOMMU parties need the chance to
discuss it):

http://lkml.org/lkml/2008/9/19/106

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: remove set_bit_string()
FUJITA Tomonori [Mon, 22 Sep 2008 16:15:10 +0000 (01:15 +0900)]
x86: remove set_bit_string()

"export iommu_area_reserve helper funciton" patch converted all the
users of set_bit_string, GART, Calgary and AMD IOMMU drivers, to use
iommu_area_reserve helper function. Now we can remove unused
set_bit_string function.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, NMI watchdog: setup before enabling NMI watchdog
Aristeu Rozanski [Mon, 22 Sep 2008 17:13:59 +0000 (13:13 -0400)]
x86, NMI watchdog: setup before enabling NMI watchdog

There's a small window when NMI watchdog is being set up that if any NMIs
are triggered, the NMI code will make make use of not initalized wd_ops
elements:
void setup_apic_nmi_watchdog(void *unused)
{
if (__get_cpu_var(wd_enabled))
return;

/* cheap hack to support suspend/resume */
/* if cpu0 is not active neither should the other cpus */
if (smp_processor_id() != 0 && atomic_read(&nmi_active) <= 0)
return;

switch (nmi_watchdog) {
case NMI_LOCAL_APIC:
/* enable it before to avoid race with handler */
--> __get_cpu_var(wd_enabled) = 1;
--> if (lapic_watchdog_init(nmi_hz) < 0) {
(...)
asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs)
{
(...)
if (nmi_watchdog_tick(regs, reason))
return;
(...)
notrace __kprobes int
nmi_watchdog_tick(struct pt_regs *regs, unsigned reason)
{
(...)
if (!__get_cpu_var(wd_enabled))
return rc;
switch (nmi_watchdog) {
case NMI_LOCAL_APIC:
rc |= lapic_wd_event(nmi_hz);
(...)
int lapic_wd_event(unsigned nmi_hz)
{
struct nmi_watchdog_ctlblk *wd = &__get_cpu_var(nmi_watchdog_ctlblk);
u64 ctr;

--> rdmsrl(wd->perfctr_msr, ctr);

and wd->*_msr will be initialized on each processor type specific setup, after
enabling NMIs for PMIs. Since the counter was just set, the chances of an
performance counter generated NMI is minimal, but any other unknown NMI would
trigger the problem. This patch fixes the problem by setting everything up
before enabling performance counter generated NMIs and will set wd_enabled
using a callback function.

Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Acked-by: Don Zickus <dzickus@redhat.com>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, NMI watchdog: when booting with reset_devices, clear the performance counters
Aristeu Rozanski [Mon, 22 Sep 2008 17:14:13 +0000 (13:14 -0400)]
x86, NMI watchdog: when booting with reset_devices, clear the performance counters

P4s have a quirk that makes necessary to clear P4_CCCR_OVF bit on the CCCR
everytime the PMI is triggered. When booting the kernel with reset_devices
(more specific kdump case), the counters reach zero and the PMI will be
generated. This is not a problem on other processors but on P4s, it'll
continue to generate NMIs until that bit is cleared. Since there may be
other users of the performance counters, clear and disable all of them
when booting with reset_devices option.

We have a P4 box here that crashes because of this problem. Since the kdump
kernel usually boots with only one processor active, the second logical
unit won't be set up, therefore, MSR_P4_IQ_CCCR1 (and other performance
counter registers) won't be cleared and P4_CCCR_OVF may be still set because
the previous kernel was using this register. An NMI is triggered because of
the MSR_P4_IQ_CCCR1 right after the NMI delivery is enabled, triggering the
race fixed on my previous email.

Signed-off-by: Aristeu Rozanski <aris@redhat.com>
Acked-by: Don Zickus <dzickus@redhat.com>
Acked-by: Prarit Bhargava <prarit@redhat.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: fix list traversal to use _rcu variant
Chris Friesen [Mon, 22 Sep 2008 17:06:09 +0000 (11:06 -0600)]
sched: fix list traversal to use _rcu variant

load_balance_fair() calls rcu_read_lock() but then traverses the list
 using the regular list traversal routine.  This patch converts the
list traversal to use the _rcu version.

Signed-off-by: Chris Friesen <cfriesen@nortel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Mon, 22 Sep 2008 16:09:18 +0000 (09:09 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: ASoC: Fix at32-pcm build breakage with PM enabled

17 years agopcmcia: Fix broken abuse of dev->driver_data
Alan Cox [Mon, 22 Sep 2008 14:58:14 +0000 (15:58 +0100)]
pcmcia: Fix broken abuse of dev->driver_data

PCMCIA abuses dev->private_data in the probe methods. Unfortunately it
continues to abuse it after calling drv->probe() which leads to crashes and
other nasties (such as bogus probes of multifunction devices) giving errors like

pcmcia: registering new device pcmcia0.1
kernel: 0.1: GetNextTuple: No more items

Extract the passed data before calling the driver probe function that way
we don't blow up when the driver reuses dev->private_data as its right.

As its close to the final release just move the hack so it works out,
hopefully someone will be sufficiently embarrassed to produce a nice rework
for 2.6.28.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoOMAP3 IRQ: add some missing IRQs for secure peripherals
Paul Walmsley [Tue, 16 Sep 2008 08:27:35 +0000 (02:27 -0600)]
OMAP3 IRQ: add some missing IRQs for secure peripherals

Add in some missing IRQs for secure peripherals, defined in
OMAP34xx Multimedia High Security Device Silicon Revision 3.0 Security
Addendum Version B (SWPU119B)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: add wait for USIM module to become active
Paul Walmsley [Tue, 16 Sep 2008 14:58:40 +0000 (08:58 -0600)]
OMAP3 clock: add wait for USIM module to become active

This patch adds the register definitions and clock tree fields required
to wait for the USIM module to come out of idle when the USIM clocks are
enabled.  Register bit definitions are from the 34xx HS Addendum Rev B.
There, the clock is in fact named "USIM_ICLK".

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: convert omap2_clk_wait_ready() to use the idlest_bit field
Paul Walmsley [Tue, 16 Sep 2008 14:58:38 +0000 (08:58 -0600)]
OMAP2/3 clock: convert omap2_clk_wait_ready() to use the idlest_bit field

Simplify omap2_clk_wait_ready() to use the new idlest_bit field in
struct clk, rather than the hunk of conditionals that were there
previously.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: encode target IDLEST bits and clean omap2_clk_wait_ready()
Paul Walmsley [Tue, 16 Sep 2008 14:58:34 +0000 (08:58 -0600)]
OMAP2/3 clock: encode target IDLEST bits and clean omap2_clk_wait_ready()

For each OMAP module that has a target IDLEST bit, add the appropriate
bits to the clock tree on both the module interface clock and the appropriate
functional clock.  Add a new clock bit, "WAIT_READY", that indicates that
the clock code must wait for the clock's module to come out of idle after
both the target functional clock and interface clocks are enabled.  Fix
some clock flag comments while there to indicate that clocks marked
as "3430ES2" clocks also are valid for later 3430 revisions.

Several OMAP3xxx clocks must be split into platform-specific variants,
since some early silicon revisions do not have target idle state bits
available. DSS, HSOTGUSB, and SSI clocks are affected.  In the future, it
would be ideal to #ifdef out those clocks for kernels that don't need to
run on 3430ES1 chips to save memory.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 PRCM: convert IDLEST register bit macros to use the _SHIFT/_MASK style
Paul Walmsley [Tue, 16 Sep 2008 14:58:33 +0000 (08:58 -0600)]
OMAP2/3 PRCM: convert IDLEST register bit macros to use the _SHIFT/_MASK style

Originally when the PRCM register macros were defined, bit shift macros
used a "_SHIFT" suffix, and mask macros used none.  This became a source
of bugs and confusion, as the mask macros were mistakenly used for shift
values.  Gradually, the mask macros have been updated, piece by piece,
to add a "_MASK" suffix on the end to clarify.  This patch applies this
change to the CM_IDLEST_* register bits.

The patch also adds a few bits that were missing, mostly from the 3430ES1
to ES2 revisions.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2 PRCM: fix CM_IDLEST bits incorrectly marked as 2xxx-common
Paul Walmsley [Tue, 16 Sep 2008 14:58:32 +0000 (08:58 -0600)]
OMAP2 PRCM: fix CM_IDLEST bits incorrectly marked as 2xxx-common

This patch fixes a few OMAP2xxx CM_IDLEST bits that were incorrectly
marked as being OMAP2xxx-wide, when they were actually 2420-specific.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: use clk->prcm_mod for all struct clk register addressing
Paul Walmsley [Mon, 22 Sep 2008 14:51:14 +0000 (17:51 +0300)]
OMAP2/3 clock: use clk->prcm_mod for all struct clk register addressing

Use the clk->prcm_mod field for all register addresses in struct clk.
Remove all usage of the *_REGADDR() and *_OFFSET() macros from the
clock tree.  This eliminates a set of (__force void __iomem *) casts
and removes all of the OMAP2xxx register address rewriting.  Shrink
the width of the enable_reg/clksel_reg registers to 16 bits, saving 4
bytes per struct clk.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: simplify omap2_clksel_get_src_field()
Paul Walmsley [Thu, 18 Sep 2008 17:47:21 +0000 (11:47 -0600)]
OMAP2/3 clock: simplify omap2_clksel_get_src_field()

Get rid of void __iomem * usage in omap2_clksel_get_src_field.
Prepend the function name with an underscore to highlight that it is a
static function.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: remove omap2_get_clksel()
Paul Walmsley [Thu, 18 Sep 2008 17:47:18 +0000 (11:47 -0600)]
OMAP2/3 clock: remove omap2_get_clksel()

Remove omap2_get_clksel() and just use clk->clksel_reg and
clk->clksel_mask directly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: convert omap2_wait_clock_ready() to use clk.prcm_mod
Paul Walmsley [Thu, 18 Sep 2008 17:47:15 +0000 (11:47 -0600)]
OMAP2/3 clock: convert omap2_wait_clock_ready() to use clk.prcm_mod

Convert omap2_wait_clock_ready() to use clk.prcm_mod rather than a
void __iomem *.  This removes some cruft from clock24xx.c and sets
up further cruft removal in a subsequent patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: use prcm_mod field in omap2_clk_wait_ready()
Paul Walmsley [Thu, 18 Sep 2008 17:47:12 +0000 (11:47 -0600)]
OMAP2/3 clock: use prcm_mod field in omap2_clk_wait_ready()

Use the newly-added clk.prcm_mod field in omap2_clk_wait_ready(),
removing some internal register arithmetic.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: use symbolic constants in omap2_clk_wait_ready()
Paul Walmsley [Thu, 18 Sep 2008 17:47:09 +0000 (11:47 -0600)]
OMAP2/3 clock: use symbolic constants in omap2_clk_wait_ready()

Convert the bare constants in the register arithmetic in
omap2_clk_wait_ready() to use meaningful symbolic names.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP2/3 clock: add _omap2_clk_{read,write}_reg()
Paul Walmsley [Thu, 18 Sep 2008 17:47:06 +0000 (11:47 -0600)]
OMAP2/3 clock: add _omap2_clk_{read,write}_reg()

Create new static functions to read/write registers used in the struct
clk, _omap2_clk_{read,write}_reg().  A subsequent patch will use these
to ensure the correct register read/write instruction is used, which depends
on whether the clock registers are in the CM, PRM, or SCM.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: add "prcm_mod" field to OMAP3xxx clocks
Paul Walmsley [Thu, 18 Sep 2008 17:47:03 +0000 (11:47 -0600)]
OMAP3 clock: add "prcm_mod" field to OMAP3xxx clocks

Annotate each OMAP2xxx real hardware clock controlled by the PRCM with
the PRCM module offset.

A subsequent patch will use this to simplify register addressing in the
struct clk.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>