Takashi Iwai [Wed, 20 Apr 2005 11:45:55 +0000 (13:45 +0200)]
[ALSA] Fix and cleanup of CM9880 auto-configuration
HDA Codec driver
Fix and cleanup of CM9880 automatic PIN configuration.
snd_hda_codec_setup_stream() doesn't do anything when NID is 0.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 20 Apr 2005 11:44:08 +0000 (13:44 +0200)]
[ALSA] Show PIN jack type
HDA generic driver
Show the jack type of each PIN default configuration entry.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 20 Apr 2005 11:43:00 +0000 (13:43 +0200)]
[ALSA] Fix a typo in comments
HDA generic driver
Fix a typo in comments.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Karsten Wiese [Wed, 20 Apr 2005 08:12:35 +0000 (10:12 +0200)]
[ALSA] prevent oops & dead keyboard on usb unplugging while the device is being used
USB generic driver,USB USX2Y
Without this patch, some usb kobjects, which are parents to
the usx2y's kobjects can be freed before the usx2y's.
This led to an oops in get_kobj_path_length() and a dead
keyboard, when the usx2y's kobjects were freed.
The patch ensures the correct sequence.
Tested ok on kernel 2.6.12-rc2.
Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jesper Juhl [Wed, 20 Apr 2005 08:03:31 +0000 (10:03 +0200)]
[ALSA] trivial warning fix for emu10k1
EMU10K1/EMU10K2 driver
When building with gcc -W sound/pci/emu10k1/emupcm.c produces this little
warning in 2.6.12-rc2-mm3 :
sound/pci/emu10k1/emupcm.c:265: warning: 'inline' is not at beginning of
declaration
No big deal, but trivial to fix.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 15 Apr 2005 11:51:48 +0000 (13:51 +0200)]
[ALSA] Add dxs_support=5 for Insight P4-ITX
VIA82xx driver
Added dxs_support=5 entry for Insight P4-ITX.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 14 Apr 2005 14:21:03 +0000 (16:21 +0200)]
[ALSA] Increase timer protocol number
ALSA Core
Increase the timer protocl number (to distinguish the fix for TREAD ioctls).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 14 Apr 2005 11:37:13 +0000 (13:37 +0200)]
[ALSA] Misc clean up
HDA Codec driver
Misc clean up: move the definitions of constants for pinctl to a single place.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 14 Apr 2005 11:36:24 +0000 (13:36 +0200)]
[ALSA] Remove dead code
HDA Codec driver
Removed the dead (duplicated) code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 14 Apr 2005 11:35:51 +0000 (13:35 +0200)]
[ALSA] Add AD1981HD and AD1983 support
HDA Codec driver
Added the support of AD1981HD and AD1983 codecs.
Including the fix for
AD1986A.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Matt [Wed, 13 Apr 2005 12:45:30 +0000 (14:45 +0200)]
[ALSA] add sigmatel codec support
HDA generic driver,HDA Codec driver
Add initial SigmaTel codec support for 9200 and 922x. Note that
this hda patch relies on the configuration default registers to
be set correctly (normally by BIOS/firmware) in order for it to
set up pin widgets properly. There's a test switch in the patch
so it will work with the SigmaTel reference boards that are usually
plugged into a system that doesn't set the configuration default
registers. It supports 2 channel analog out and line/mic in. I
plan to add >2 channel support and spdif support shortly.
Please apply.
Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Matt [Wed, 13 Apr 2005 12:37:50 +0000 (14:37 +0200)]
[ALSA] hda: fix vref cap and ctl values
HDA Codec driver,HDA generic driver
Fix some vref defines so they are valid for the different bits in
the pin cap and pin control registers. Please apply.
Signed-off-by: Matt <matt@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 13 Apr 2005 12:32:57 +0000 (14:32 +0200)]
[ALSA] Improve the shared-jack handling on ac97
AC97 Codec
The handling of shared surround/clfe output jacks with line/mic-in
on some AC97 codecs is improved.
Instead of 'Line-In As Surround' or 'Mic As Center/LFE' switch, two
new enum controls are introduced: 'Channel Mode' and 'Surround Jack Mode'.
The formar changes the current output mode among 2, 4 and 6-channels.
The latter controls whether the jacks are shared or independent.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela [Wed, 13 Apr 2005 11:25:30 +0000 (13:25 +0200)]
[ALSA] replace SNDRV_PCM_HW_PARAMS_RUNTIME -> SNDRV_PCM_HW_PARAMS_NORESAMPLE
ALSA Core
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Tue, 12 Apr 2005 15:33:59 +0000 (17:33 +0200)]
[ALSA] Fix capture on OSS emulation
ALSA<-OSS emulation
Fix the noisy capture on some hardwares over OSS emulation.
Change back to avail_min = period_size for capture direction.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 12 Apr 2005 14:27:28 +0000 (16:27 +0200)]
[ALSA] Fix permissions in some /proc files
PCM Midlevel,CA0106 driver,EMU10K1/EMU10K2 driver
Fix by Guillaume Chazarain <guichaz@yahoo.fr>:
Some tunables in /proc have a write() function, but as their
permission does not reflect it, it can be confusing to the user.
So here is a patch that corrects the mode of those files. Note that I
have only tested the 'xrun_debug' entry.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 11 Apr 2005 15:03:03 +0000 (17:03 +0200)]
[ALSA] Fix compile warning
EMU10K1/EMU10K2 driver
Fix compile warnings regarding the unused variables/functions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 11 Apr 2005 14:58:24 +0000 (16:58 +0200)]
[ALSA] Replace pci_module_init() with pci_register_driver()
Documentation,ALS4000 driver,ATIIXP driver,ATIIXP-modem driver
AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver
ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver
Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver
RME96 driver,SonicVibes driver,VIA82xx driver,VIA82xx-modem driver
ALI5451 driver,au88x0 driver,CA0106 driver,CS46xx driver
EMU10K1/EMU10K2 driver,HDA Intel driver,ICE1712 driver,ICE1724 driver
KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver
RME9652 driver,Trident driver,Digigram VX222 driver,YMFPCI driver
Replace the obsolete pci_module_init() with pci_register_driver().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 11 Apr 2005 13:08:32 +0000 (15:08 +0200)]
[ALSA] Fix SPDIF rate with dxs_support=4
VIA82xx driver
Fix SPDIF rate setting with dxs_support=4. It should be 48k fixed.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sergey Vlasov [Mon, 11 Apr 2005 13:04:33 +0000 (15:04 +0200)]
[ALSA] Support all sample rate conversion capabilities of DXS channels
Documentation,VIA82xx driver
Add support for full sample rate conversion capabilities of DXS
channels present in VIA VT8233/5/7 controllers:
- any sample rate in the 8000 ... 48000 Hz range is supported even if
the AC'97 codec supports only 48000 Hz output;
- different DXS channels can use different sample rates at the same
time (the controller performs required sample rate conversion and
mixing in hardware).
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sergey Vlasov [Mon, 11 Apr 2005 12:17:19 +0000 (14:17 +0200)]
[ALSA] Add PCI ID for Gallant Odyssey Sound 4
FM801 driver
The Gallant Odyssey Sound 4 card is based on the ForteMedia FM801
chip, but has a different PCI ID.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Bunk [Mon, 11 Apr 2005 12:11:00 +0000 (14:11 +0200)]
[ALSA] remove dead code
YMFPCI driver
This patch removes some dead code found by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Simone Zinanni [Mon, 11 Apr 2005 12:08:40 +0000 (14:08 +0200)]
[ALSA] Provides preliminary support for the Terratec Phase 28 card
ICE1712 driver
Provides preliminary support for the Terratec Phase 28 card.
Not extensively tested and probably buggy, but it seems to work.
Signed-off-by: Simone Zinanni <simone@develer.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
James Courtier-Dutton [Sun, 10 Apr 2005 13:43:35 +0000 (15:43 +0200)]
[ALSA] Fix typo in speaker routing. Now sound comes from the correct speakers
EMU10K1/EMU10K2 driver
when using the p16v HD device.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
James Courtier-Dutton [Sat, 9 Apr 2005 22:00:24 +0000 (00:00 +0200)]
[ALSA] Improve playback startup. Increase buffer size, and reduce xruns.
EMU10K1/EMU10K2 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
James Courtier-Dutton [Sat, 9 Apr 2005 21:38:25 +0000 (23:38 +0200)]
[ALSA] Improve SPDIF playback via the P16V/CA0151 chip.
EMU10K1/EMU10K2 driver
Although we can set 44100 as the output rate, the SPDIF can do it, but the Analog output cannot.
The SPDIF has the bug, whereby the Left channel arrives one sample late, so although we don't do any resampling,
it is not good for AC3 non-audio output.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
James Courtier-Dutton [Sat, 9 Apr 2005 14:57:09 +0000 (16:57 +0200)]
[ALSA] Display SPDIF in status in proc fs 'spdif-in' file.
EMU10K1/EMU10K2 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Takashi Iwai [Fri, 8 Apr 2005 13:05:13 +0000 (15:05 +0200)]
[ALSA] choose multi-channel jacks automatically
HDA Codec driver
Patch by C.L. Tien <cltien@cmedia.com.tw>:
The patch makes cm9880 to choose multi-channel jacks automatically.
1. I found the current code has basic_init, which already includes
necessary controls for 6-stack initialization, so I don't need
another model.
2. I add a new model 'auto' to let the driver find a. if there are
option real panel/front panel, b. the jacks to be used for multichannel.
Because the jack color are based on MS's channel sequence, so the 'auto'
model will pick the same jacks for multichannel MS uses. I did this to
hope to minimize users questions. These code can also be applied to other
codecs but I don't have any to test.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Fri, 8 Apr 2005 06:25:23 +0000 (08:25 +0200)]
[ALSA] virmidi - fix ioctl parameter passing when setting client name
ALSA sequencer
The last change to reduce stack usage did not adjust the parameter to
SNDRV_SEQ_IOCTL_SET_CLIENT_IOCTL which resulted in passing the address
of the pointer instead of the structure.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Sasha Khapyorsky [Thu, 7 Apr 2005 18:23:58 +0000 (20:23 +0200)]
[ALSA] MC97 registers reset
AC97 Codec
Separated ac97 registers reset for audio and modem (or both) as recommended
in AC97 spec.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sasha Khapyorsky [Thu, 7 Apr 2005 18:22:58 +0000 (20:22 +0200)]
[ALSA] Fix MC97 codec initialization
AC97 Codec
This (especially 12000 -> 8000 sample rate replace) fix popular
'MC97 converters.. not ready' error with modem codecs initializations.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sasha Khapyorsky [Thu, 7 Apr 2005 18:21:21 +0000 (20:21 +0200)]
[ALSA] Fix 'semaphore is not ready' problem with snd-intel8x0m
Intel8x0-modem driver
With some intel based ac97 modems codec access semaphore is not cleared
after 0x54 AC97 register (GPIO_STATUS) reads. This may causes problems
with newly applied modem mixer (Off-hook switch) and in other cases.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 7 Apr 2005 13:53:20 +0000 (15:53 +0200)]
[ALSA] Add CM9780 support, fix CM9761 SPDIF
AC97 Codec
- Added CM9780 patch
- Fix the SPDIF support on CM9761/CM9780
- Allow the generic enum callback to pass any number (not power of 2)
as the value mask
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 7 Apr 2005 13:50:13 +0000 (15:50 +0200)]
[ALSA] Remove unused variables
AC97 Codec
Removed unused variables (the old control definitions).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 7 Apr 2005 13:48:42 +0000 (15:48 +0200)]
[ALSA] Check revision for the proper detection of audigy 2
EMU10K1/EMU10K2 driver
Check ther revision to detect non-listed audigy 2 boards.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 6 Apr 2005 07:47:02 +0000 (09:47 +0200)]
[ALSA] usb-audio - BOSS GS-10 PCM support
USB generic driver
This patch adds quirks to support 24-bit PCM I/O in the 'Advanced
Driver' mode of the BOSS GS-10.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Wed, 6 Apr 2005 07:43:59 +0000 (09:43 +0200)]
[ALSA] virmidi - fix ioctl parameter passing when creating seq port
ALSA sequencer
The last change to reduce stack usage did not adjust the parameter to
SNDRV_SEQ_IOCTL_CREATE_PORT which resulted in passing the address of
the pointer instead of the structure.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Jaroslav Kysela [Mon, 4 Apr 2005 14:44:58 +0000 (16:44 +0200)]
[ALSA] timer - added tread semaphore
Timer Midlevel
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 1 Apr 2005 11:14:14 +0000 (13:14 +0200)]
[ALSA] Add mixer map for Sound Blaster MP3+
USB generic driver
Added the mixer mapping for Sound Blaster MP3+
by Pavel Mihaylov <bin@bash.info>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Peter Zubaj [Fri, 1 Apr 2005 09:15:07 +0000 (11:15 +0200)]
[ALSA] Audigy SB0090 identification
EMU10K1/EMU10K2 driver
This add identification of Audigy 1 model SB0090 and fixes
problems with ac97 codec (mic not working).
Signed-off-by: Peter Zubaj <pzad@pobox.sk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 30 Mar 2005 14:22:01 +0000 (16:22 +0200)]
[ALSA] usb-audio - allow USB MIDI quirks to specify endpoints explicitly
USB generic driver
This patch reintroduces the check for endpoint numbers that are
specified explicitly in the quirk structure.
This check was accidentally dropped in the last rewrite of
snd_usbmidi_detect_endpoints().
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Takashi Iwai [Wed, 30 Mar 2005 12:40:25 +0000 (14:40 +0200)]
[ALSA] Fix the default id of multiple cards
EMU10K1/EMU10K2 driver
Fixed the default id string in case identical multiple cards exist.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 30 Mar 2005 12:22:25 +0000 (14:22 +0200)]
[ALSA] Use old default id strings for compatibility
EMU10K1/EMU10K2 driver
Use expliciitly the old default id strings for backward compatibility.
This will make 'alsactl restore' working again.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Lee Revell [Wed, 30 Mar 2005 12:04:34 +0000 (14:04 +0200)]
[ALSA] some docs for the new emu10k1 multichannel functionality
Documentation
Not complete, or even spell checked, but in case I don't get a chance to
work on it again before 1.0.9, here is what i have so far. It should go
in alsa-kernel/Documentation/emu10k1-jack.txt.
Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Lee Revell [Wed, 30 Mar 2005 11:51:18 +0000 (13:51 +0200)]
[ALSA] clean up card features
EMU10K1/EMU10K2 driver
This patch converts the emu10k1 driver to use the card capabilities
structure for some more things.
Not extensively tested but seems to work.
Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 30 Mar 2005 11:49:06 +0000 (13:49 +0200)]
[ALSA] Fix memory leak
ALSA sequencer
Fixed memory leak by the last change of stack reduction.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 29 Mar 2005 14:33:28 +0000 (16:33 +0200)]
[ALSA] Fix the detection of resolution of ac97 controls
AC97 Codec
Fixed the detection of bit resolution of ac97 mixer controls.
This will fix the problem with TI ac97 codecs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
James Courtier-Dutton [Sun, 27 Mar 2005 13:00:54 +0000 (15:00 +0200)]
[ALSA] Added identification for the Audigy ES.
EMU10K1/EMU10K2 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
James Courtier-Dutton [Sat, 26 Mar 2005 21:10:36 +0000 (22:10 +0100)]
[ALSA] Add's identification of the SB Live! Platinum [CT4760P]
EMU10K1/EMU10K2 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
James Courtier-Dutton [Sat, 26 Mar 2005 18:35:29 +0000 (19:35 +0100)]
[ALSA] Adds Capture to P16V chip.
EMU10K1/EMU10K2 driver
One can select which capture source, but one cannot yet set volumes.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
ChenLi Tien [Thu, 24 Mar 2005 19:47:35 +0000 (20:47 +0100)]
[ALSA] fix multi-channel for model==full
HDA Codec driver
The patch_cm9880.c can't play side/C/B channels from front panel jacks.
I fixed it by adding select pin.
Signed-off-by: ChenLi Tien <cltien@cmedia.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 24 Mar 2005 16:48:30 +0000 (17:48 +0100)]
[ALSA] Skip ac97 SPDIF controls
CA0106 driver
Skip building ac97 SPDIF controls via AC97_SCAP_NO_SPDIF.
Clean up the code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ChenLi Tien [Thu, 24 Mar 2005 11:02:54 +0000 (12:02 +0100)]
[ALSA] Show currectly selected widget in proc_read for hda driver
HDA generic driver
During debugging for cm9880 multi-channel playback, I added the * after
the currently selected widget, mixer widget doesn't need this but other
3 widget types need it.
Signed-off-by: ChenLi Tien <cltien@cmedia.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Bunk [Thu, 24 Mar 2005 11:01:15 +0000 (12:01 +0100)]
[ALSA] kill dead code
ALSA<-OSS emulation
The Coverity checker found this obviously dead code.
I'm not sure which of the if (plugin == NULL) is correct - this patch
removes the one that couldn't be true.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Linus Torvalds [Fri, 27 May 2005 16:26:10 +0000 (09:26 -0700)]
Merge ... /pub/scm/linux/kernel/git/hch/xfs-2.6
Alexander Nyberg [Fri, 27 May 2005 10:48:50 +0000 (12:48 +0200)]
[PATCH] Note on ACPI build fix
Even after the previous fix you can still set CONFIG_ACPI_BOOT
indirectly even without CONFIG_ACPI by choosing CONFIG_PCI and
CONFIG_PCI_MMCONFIG.
That doesn't build very well either.
This makes PCI_MMCONFIG depend on ACPI, fixing that hole.
[ I guess in theory Kconfig could follow the whole chain of dependencies
for things that get selected, but that sounds insanely complicated, so
we'll just fix up these things by hand. --Linus ]
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Len Brown [Fri, 27 May 2005 08:53:27 +0000 (04:53 -0400)]
[PATCH] ACPI build fix
Fix 2.6.12 CONFIG_ACPI=n build regression.
CONFIG_ACPI_BOOT shall be set only if CONFIG_ACPI.
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexander Nyberg [Fri, 27 May 2005 10:27:05 +0000 (12:27 +0200)]
[PATCH] Fixup VIA IRQ quirk
quirk_via_irqpic can't be __devinit for swsuspend
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Len Brown [Fri, 27 May 2005 08:21:50 +0000 (04:21 -0400)]
[PATCH] VIA IRQ quirk
Delete quirk_via_bridge(), restore quirk_via_irqpic() -- but now
improved to be invoked upon device ENABLE, and now only for VIA devices
-- not all devices behind VIA bridges.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Jackson [Fri, 27 May 2005 09:02:43 +0000 (02:02 -0700)]
[PATCH] cpuset exit NULL dereference fix
There is a race in the kernel cpuset code, between the code
to handle notify_on_release, and the code to remove a cpuset.
The notify_on_release code can end up trying to access a
cpuset that has been removed. In the most common case, this
causes a NULL pointer dereference from the routine cpuset_path.
However all manner of bad things are possible, in theory at least.
The existing code decrements the cpuset use count, and if the
count goes to zero, processes the notify_on_release request,
if appropriate. However, once the count goes to zero, unless we
are holding the global cpuset_sem semaphore, there is nothing to
stop another task from immediately removing the cpuset entirely,
and recycling its memory.
The obvious fix would be to always hold the cpuset_sem
semaphore while decrementing the use count and dealing with
notify_on_release. However we don't want to force a global
semaphore into the mainline task exit path, as that might create
a scaling problem.
The actual fix is almost as easy - since this is only an issue
for cpusets using notify_on_release, which the top level big
cpusets don't normally need to use, only take the cpuset_sem
for cpusets using notify_on_release.
This code has been run for hours without a hiccup, while running
a cpuset create/destroy stress test that could crash the existing
kernel in seconds. This patch applies to the current -linus
git kernel.
Signed-off-by: Paul Jackson <pj@sgi.com>
Acked-by: Simon Derr <simon.derr@bull.net>
Acked-by: Dinakar Guniguntala <dino@in.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alan Cox [Fri, 27 May 2005 12:40:53 +0000 (13:40 +0100)]
[PATCH] remove non-cleanroom pwc driver compression
The original pwc author raised some questions about the reverse
engineering of the decompressor algorithms used in the pwc driver.
Having done some detailed investigation it appears those concerns that
clean room policy was not followed are reasonable. I've also had a
friendly discussion with Philips to ask their view on this.
This removes the problem items of code which reduces the pwc
functionality in the kernel a little but leaves all the framework for
setup that will be needed for decompressors in user space (where they
eventually belong). This change set is designed to be the minimal risk
change set given that 2.6.12 is hopefully close to hand, with a view to
merging the much updated pwc code in 2.6.13 series kernels.
Someone else can then redo the decompressors properly (clean room) in
user space.
Note that while its easy to say that it should have been caught earlier,
but the violation was really only obvious to someone who had access to
both the proprietary source and the 'GPL' source.
Linus Torvalds [Fri, 27 May 2005 14:36:17 +0000 (07:36 -0700)]
ide-cd: revert DMA mask test change
The change to require the DMA length to be only word-aligned was not
safe.
Christoph Hellwig [Fri, 27 May 2005 08:17:08 +0000 (01:17 -0700)]
[XFS] remove an over-zealous WARN_ON
Christoph Hellwig [Fri, 27 May 2005 08:16:24 +0000 (01:16 -0700)]
Merge ... /linux/kernel/git/torvalds/linux-2.6.git
Roland McGrath [Thu, 26 May 2005 22:21:13 +0000 (15:21 -0700)]
[PATCH] i386: fix prevent_tail_call
We fixed this bug before, but it didn't take. It may have been the case
that the problem was first noticed to occur in a CONFIG_REGPARM compile.
But it's not regparm functions that need not to make tail calls, it's
asmlinkage functions called with a user pt_regs frame on the stack
supplying their arguments. prevent_tail_call probably doesn't do anything
at all in regparm functions (your argument registers are going to be
clobbered, period). It was a braino to conditionalize that definition in
the first place.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 26 May 2005 20:54:33 +0000 (13:54 -0700)]
Merge ... /pub/scm/linux/kernel/git/davem/net-2.6
Michael Chan [Thu, 26 May 2005 20:03:09 +0000 (13:03 -0700)]
[BNX2]: New Broadcom gigabit network driver.
A new driver bnx2 for Broadcom bcm5706 is available.
The patch also includes new 1000BASE-X advertisement bit definitions in
mii.h
Thanks to David Miller and Jeff Garzik for reviewing and their valuable
feedback.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexey Dobriyan [Thu, 26 May 2005 19:59:42 +0000 (12:59 -0700)]
[TOKENRING]: net/802/tr.c: s/struct rif_cache_s/struct rif_cache/
"_s" suffix is certainly of hungarian origin.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexey Dobriyan [Thu, 26 May 2005 19:59:05 +0000 (12:59 -0700)]
[TOKENRING]: be'ify trh_hdr, trllc, rif_cache_s
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Hideaki YOSHIFUJI [Thu, 26 May 2005 19:58:04 +0000 (12:58 -0700)]
From: Kazunori Miyazawa <kazunori@miyazawa.org>
[XFRM] Call dst_check() with appropriate cookie
This fixes infinite loop issue with IPv6 tunnel mode.
Signed-off-by: Kazunori Miyazawa <kazunori@miyazawa.org>
Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jay Vosburgh [Thu, 26 May 2005 19:56:59 +0000 (12:56 -0700)]
[BONDING]: bonding using arp_ip_target may stay down with active path
Correcting the list traversal makes the problem go away.
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Thu, 26 May 2005 19:55:48 +0000 (12:55 -0700)]
[PKT_SCHED] netem: allow random reordering (with fix)
Here is a fixed up version of the reorder feature of netem.
It is the same as the earlier patch plus with the bugfix from Julio merged in.
Has expected backwards compatibility behaviour.
Go ahead and merge this one, the TCP strangeness I was seeing was due
to the reordering bug, and previous version of TSO patch.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Thu, 26 May 2005 19:55:01 +0000 (12:55 -0700)]
[PKT_SCHED] netem: use only inner qdisc -- no private skbuff queue
Netem works better if there if packets are just queued in the inner discipline
rather than having a separate delayed queue. Change to use the dequeue/requeue
to peek like TBF does.
By doing this potential qlen problems with the old method are avoided. The problems
happened when the netem_run that moved packets from the inner discipline to the nested
discipline failed (because inner queue was full). This happened in dequeue, so the
effective qlen of the netem would be decreased (because of the drop), but there was
no way to keep the outer qdisc (caller of netem dequeue) in sync.
The problem window is still there since this patch doesn't address the issue of
requeue failing in netem_dequeue, but that shouldn't happen since the sequence dequeue/requeue
should always work. Long term correct fix is to implement qdisc->peek in all the qdisc's
to allow for this (needed by several other qdisc's as well).
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Thu, 26 May 2005 19:53:49 +0000 (12:53 -0700)]
[PKT_SCHED]: netem: reinsert for duplication
Handle duplication of packets in netem by re-inserting at top of qdisc tree.
This avoid problems with qlen accounting with nested qdisc. This recursion
requires no additional locking but will potentially increase stack depth.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Thu, 26 May 2005 17:27:39 +0000 (10:27 -0700)]
Automatic merge of 'for-linus' branch from
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
Linus Torvalds [Thu, 26 May 2005 17:02:30 +0000 (10:02 -0700)]
Merge of 'misc-fixes' branch from
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
Marcello Maggioni [Thu, 26 May 2005 13:47:35 +0000 (15:47 +0200)]
[PATCH] timeout at boottime with NEC3500A (and possibly others) when inserted a CD in it
From: Marcello Maggioni <hayarms@gmail.com>
Problem: Some drives (NEC 3500, TDK 1616N, Mad-dog MD-16XDVD9, RICOH
MP5163DA, Memorex DVD9 drive and IO-DATA's too for sure), if a
CD/DVD is inserted into the tray when the system is booted and if
before the OS bootup the BIOS checked for the presence of a bootable
CD/DVD into the drive, during the IDE probe phase the drive may
result busy and remain so for the next 25/30 seconds . This cause the
drive to be skipped during the booting phase and not begin usable
until the next reboot (if the reboot goes well and the drive doesn't
timeout again).
Solution: Rising the timeout time from 10 seconds to 35 seconds
(during these 35 seconds every drive should wake up for sure
according to the tests I've done).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Stuart Hayes [Thu, 26 May 2005 13:38:45 +0000 (15:38 +0200)]
[PATCH] ide-scsi: kmap scatter/gather before doing PIO
From: Stuart Hayes <Stuart_Hayes@dell.com>
The system can panic with a null pointer dereference using ide-scsi if
PIO is being done on scatter gather pages that are in high memory,
because page_address() returns 0. We are actually seeing this using a
tape drive. This patch will kmap_atomic() the pages before performing
PIO.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Bartlomiej Zolnierkiewicz [Thu, 26 May 2005 12:55:34 +0000 (14:55 +0200)]
[PATCH] convert IDE device drivers to driver-model
* add ide_bus_match() and export ide_bus_type
* split ide_remove_driver_from_hwgroup() out of ide_unregister()
* move device cleanup from ide_unregister() to drive_release_dev()
* convert ide_driver_t->name to driver->name
* convert ide_driver_t->{attach,cleanup} to driver->{probe,remove}
* remove ide_driver_t->busy as ide_bus_type->subsys.rwsem
protects against concurrent ->{probe,remove} calls
* make ide_{un}register_driver() void as it cannot fail now
* use driver_{un}register() directly, remove ide_{un}register_driver()
* use device_register() instead of ata_attach(), remove ata_attach()
* add proc_print_driver() and ide_drivers_show(), remove ide_drivers_op
* fix ide_replace_subdriver() and move it to ide-proc.c
* remove ide_driver_t->drives, ide_drives and drives_lock
* remove ide_driver_t->drivers, drivers and drivers_lock
* remove ide_drive_t->driver and DRIVER() macro
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Albert Lee [Thu, 26 May 2005 07:49:42 +0000 (03:49 -0400)]
[PATCH] libata: Fix zero sg_dma_len() on 64-bit platform
When testing ATAPI PIO data transfer on the ppc64 platform, __atapi_pio_bytes() got zero when
sg_dma_len() is used. I checked the <asm-ppc64/scatterlish.h>, the struct scatterlist is defined as:
struct scatterlist {
struct page *page;
unsigned int offset;
unsigned int length;
/* For TCE support */
u32 dma_address;
u32 dma_length;
};
#define sg_dma_address(sg) ((sg)->dma_address)
#define sg_dma_len(sg) ((sg)->dma_length)
So, if the scatterlist is not DMA mapped, sg_dma_len() will return zero on ppc64.
The same problem should occur on the x86-64 platform.
On the i386 platform, sg_dma_len() returns sg->length, that's why the problem does not occur on an i386.
Changes:
- Use sg->length if the scatterlist is not DMA mapped (yet).
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 06:17:16 +0000 (02:17 -0400)]
Merge ... /linux/kernel/git/torvalds/linux-2.6.git branch HEAD
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:11:38 +0000 (22:11 -0400)]
Merge ... /spare/repo/netdev-2.6 branch tlan
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:11:28 +0000 (22:11 -0400)]
Merge ... /spare/repo/netdev-2.6 branch sis900
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:11:14 +0000 (22:11 -0400)]
Merge ... /spare/repo/netdev-2.6 branch veth
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:11:06 +0000 (22:11 -0400)]
Merge ... /spare/repo/netdev-2.6 branch qeth
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:10:53 +0000 (22:10 -0400)]
Merge ... /spare/repo/netdev-2.6 branch ns83820
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:10:38 +0000 (22:10 -0400)]
Merge ... /spare/repo/netdev-2.6 branch natsemi
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:10:25 +0000 (22:10 -0400)]
Merge ... /spare/repo/netdev-2.6 branch forcedeth
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:09:52 +0000 (22:09 -0400)]
Merge ... /spare/repo/netdev-2.6 branch airo
<jgarzik@pretzel.yyz.us> [Thu, 26 May 2005 02:07:51 +0000 (22:07 -0400)]
Merge ... /spare/repo/netdev-2.6 branch atmel
Linus Torvalds [Thu, 26 May 2005 01:01:26 +0000 (18:01 -0700)]
Merge ... /linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 26 May 2005 00:56:57 +0000 (17:56 -0700)]
Merge of 'new-ids' branch from
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
Francisco Javier [Wed, 25 May 2005 23:29:37 +0000 (19:29 -0400)]
[PATCH] sata_promise: add PCI ID for FastTrak TX2200 2-ports
NAKAMURA Kenta [Wed, 25 May 2005 23:28:38 +0000 (19:28 -0400)]
[PATCH] sata_sil: new ID 1002:437A for ATI IXP400
Colin Leroy [Wed, 25 May 2005 19:31:35 +0000 (12:31 -0700)]
[PATCH] therm_adt746x: show correct sensor locations
This patch shows the correct locations of the heat sensors present in iBook
and PowerBooks G4, instead of displaying them as being on CPU and GPU
(which is not always the case).
Signed-off-by: Colin Leroy <colin@colino.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Colin Leroy [Wed, 25 May 2005 19:31:34 +0000 (12:31 -0700)]
[PATCH] Make sure therm_adt746x only handles known hardware
This patch limits therm_adt746x to currently existing fan controllers in
Apple laptops. It may avoid problems with future hardware.
Signed-off-by: Colin Leroy <colin@colino.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roland Dreier [Wed, 25 May 2005 19:31:31 +0000 (12:31 -0700)]
[PATCH] IB: fix endianness of path record MTU field
Make MTU field in SA PathRecord and MCMemberRecord a u8 rather than an enum
to avoid complications with endianness.
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roland Dreier [Wed, 25 May 2005 19:31:30 +0000 (12:31 -0700)]
[PATCH] IB: fix potential ib_umad leak
Free all unclaimed MAD receive buffers when userspace closes our file so we
don't leak memory.
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roland Dreier [Wed, 25 May 2005 19:31:29 +0000 (12:31 -0700)]
[PATCH] IB: allow NULL sa_query callbacks
Check if a client passes a NULL callback into an SA query, and if so, never
call back. This fixes an oops if someone unloads ib_ipoib and ib_sa in
rapid succession. ib_ipoib does an MCMember delete with a NULL callback
and 0 timeout on unload, which is usually fine since the delete completes
successfully. However, if ib_sa is unloaded immediately afterwards, the
delete will be canceled and ib_sa will try to call the (now already
unloaded) ib_ipoib module back with the cancel completion, which triggers
the oops.
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexander Nyberg [Wed, 25 May 2005 19:31:28 +0000 (12:31 -0700)]
[PATCH] x86_64: CONFIG_BUG=n fixes
Fixes some !CONFIG_BUG warnings:
include/asm/mmu_context.h: I funktion `switch_mm':
include/asm/mmu_context.h:57: varning: implicit declaration of function `out_of_line_bug'
Signed-off-by: Alexander Nyberg <alexn@telia.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>