GitHub/moto-9609/android_kernel_motorola_exynos9610.git
15 years agoALSA: hda - Fix ALC268 parser for mono speaker
Takashi Iwai [Fri, 17 Jul 2009 12:36:59 +0000 (14:36 +0200)]
ALSA: hda - Fix ALC268 parser for mono speaker

- Parse the mono output pin 0x16 correctly even as the primary output
- Create "Speaker" volume control if the primary output is a speaker
- Fix the wrong direction of (optional) "Mono" switch

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix the previous sanity check in make_codec_cmd()
Takashi Iwai [Fri, 17 Jul 2009 10:47:34 +0000 (12:47 +0200)]
ALSA: hda - Fix the previous sanity check in make_codec_cmd()

The newly added sanity-check for a codec verb can be better written
with logical ORs.  Also, the parameter can be more than 8bit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - add bounds checking for the codec command fields
Wu Fengguang [Fri, 17 Jul 2009 08:49:19 +0000 (16:49 +0800)]
ALSA: hda - add bounds checking for the codec command fields

A recent bug involves passing auto detected >0x7f NID to codec command,
creating an invalid codec addr field, and finally lead to cmd timeout
and fall back into single command mode. Jaroslav fixed that bug in
alc880_parse_auto_config().

It would be safer to further check the bounds of all cmd fields.

Cc: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add support for new AMD HD audio devices
Andiry Brienza [Fri, 17 Jul 2009 03:32:32 +0000 (11:32 +0800)]
ALSA: hda - Add support for new AMD HD audio devices

Add support for new AMD HD audio devices. Use generic driver to detect HD audio
devices with Vendor ID AMD.

Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add CX20582 and OLPC XO-1.5 support
Daniel Drake [Thu, 16 Jul 2009 13:46:57 +0000 (14:46 +0100)]
ALSA: hda - Add CX20582 and OLPC XO-1.5 support

This adds support for the Conexant CX20582 codec, based on code from
http://www.linuxant.com/alsa-driver/alsa-driver-linuxant-1.0.19ppch12-1.noarch.rpm.zip

This is the codec to be shipped in the OLPC XO-1.5, so this patch also
includes an XO-specific profile. Resultant configuration:
http://dev.laptop.org/~dsd/20090713/codec0.txt
http://dev.laptop.org/~dsd/20090713/codec0.svg

As the Linuxant code is structured differently to the other codecs,
I was unable to cleanly reimplement everything in the generic and Dell
profiles as more info is needed (e.g. codec graphs). I simplified those
profiles so that hopefully it will not break anyone's audio. If it does,
it may be worth returning -ENODEV from patch_cx5066 on non-OLPC systems,
and then fixing snd_hda_codec_configure() to fall back on the generic
parser, at least until support for other systems is figured out.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Check codec errors in snd_hda_get_connections()
Takashi Iwai [Fri, 10 Jul 2009 10:52:27 +0000 (12:52 +0200)]
ALSA: hda - Check codec errors in snd_hda_get_connections()

The codec read errors in snd_hda_get_connections() are ignored so far,
and it causes a problem like the bug in the commit
    9d30937accf2c01e8b0bd59787409a7348cbbcb7
    ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking

Better to check errors in the function and returns a proper error code
rather than passing bogus NID values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix the merge error
Takashi Iwai [Fri, 10 Jul 2009 10:33:48 +0000 (12:33 +0200)]
ALSA: hda - Fix the merge error

Fix the merge error at the commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572,
an addition of the missing alc880_gpio3_init_verbs to ALC882_TARGA model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 9 Jul 2009 16:48:38 +0000 (18:48 +0200)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/patch_realtek.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - targa and targa-2ch fix
David Heidelberger [Thu, 9 Jul 2009 16:45:46 +0000 (18:45 +0200)]
ALSA: hda - targa and targa-2ch fix

Simplify ALC882_TARGA and return gpio3 to ALC883_TARGA_DIG and
ALC883_TARGA_2ch_DIG, which I accidentally removed in commit id
64a8be74357477558183b43156c5536b642de134

Signed-off-by: David Heidelberger <d.okias@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - fix beep tone calculation for IDT/STAC codecs
Paul Vojta [Thu, 9 Jul 2009 06:57:46 +0000 (23:57 -0700)]
ALSA: hda - fix beep tone calculation for IDT/STAC codecs

In the beep tone calculation for IDT/STAC codecs, lower numbers correspond
to higher frequencies and vice versa.  The current code has this backwards,
resulting in beep frequencies which are way too high (and sound bad on
tinny laptop speakers, resulting in complaints).

[Also added hz <= 0 check by tiwai]

Signed-off-by: Paul Vojta <vojta@math.berkeley.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)
Darren Salt [Wed, 8 Jul 2009 14:29:49 +0000 (15:29 +0100)]
ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)

There is a regression, introduced in aa202455eec51699e44f658530728162cefa1307
(in alsa-kernel) which I noticed when trying to use the headphone socket on
my EeeCPC 901: the output was *very* quiet, practically silent.

This patch corrects the control types to that which was obviously intended in
the referenced commit.

Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX710
William Weston [Wed, 8 Jul 2009 08:10:05 +0000 (01:10 -0700)]
ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX710

Signed-off-by: William Weston <weston@sysex.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Disable AMD SB600 64bit address support only
Andiry Brienza [Wed, 8 Jul 2009 05:55:31 +0000 (13:55 +0800)]
ALSA: hda - Disable AMD SB600 64bit address support only

HDA driver disabled HD audio 64bit address support for all AMD
SB600/SB700/SB800 platforms with commit
09240cf429505891d6123ce14a29f58f2a60121e due to one SB600 issue
reported by community, but we do not see the similar issue on
SB700/SB800 platforms.
This patch is to refine the workaround for SB600 only.

Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Check widget types while parsing capture source in patch_via.c
Takashi Iwai [Wed, 8 Jul 2009 05:45:46 +0000 (07:45 +0200)]
ALSA: hda - Check widget types while parsing capture source in patch_via.c

Check the widget type and don't take invalid widgets while parsing
the capture source in patch_via.c.

Also, fixed some compile warnings introduced in the previous commit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix capture source selection in patch_via.c
Takashi Iwai [Tue, 7 Jul 2009 16:18:59 +0000 (18:18 +0200)]
ALSA: hda - Fix capture source selection in patch_via.c

The fixed widget NIDs in patch_via.c seem wrong for some codecs,
and it resulted in the invalid capture source selection.

This patch adds the code to parse the topology instead of using
fixed numbers in order to get the right MUX widget id corresponding
to the ADCs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing EAPD initialization for VIA codecs
Takashi Iwai [Tue, 7 Jul 2009 11:43:35 +0000 (13:43 +0200)]
ALSA: hda - Add missing EAPD initialization for VIA codecs

If the output pin is used and EAPD capability is present, turn on
the EAPD bit.  This fixes the silent output problem on ASUS laptops
with VT1708S codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Clean up VT170x dig-in initialization code
Takashi Iwai [Tue, 7 Jul 2009 11:39:03 +0000 (13:39 +0200)]
ALSA: hda - Clean up VT170x dig-in initialization code

Minor clean up for initializing the digital-in pin.
No functional changes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix error path in the sanity check in azx_pcm_open()
Takashi Iwai [Sun, 5 Jul 2009 09:44:46 +0000 (11:44 +0200)]
ALSA: hda - Fix error path in the sanity check in azx_pcm_open()

Release resources cleanly after errors in the sanity check in
azx_pcm_open().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Sat, 4 Jul 2009 10:20:25 +0000 (12:20 +0200)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section
Herton Ronaldo Krzesinski [Sat, 4 Jul 2009 04:44:59 +0000 (01:44 -0300)]
ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Don't override maxbps for FLOAT sharing with linear formats
Takashi Iwai [Fri, 3 Jul 2009 21:25:37 +0000 (23:25 +0200)]
ALSA: hda - Don't override maxbps for FLOAT sharing with linear formats

When FLOAT PCM format is available but together with other linear
PCM formats, don't override maxbps value.  For FLOAT format, it's always
32, thus it can be better checked in snd_hda_calc_stream_format().
Otherwise the maxbps 32 might be used wrongly even if the linear PCM
doesn't support it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add sanity check in PCM open callback
Takashi Iwai [Fri, 3 Jul 2009 21:10:23 +0000 (23:10 +0200)]
ALSA: hda - Add sanity check in PCM open callback

Add some sanity checks of struct snd_pcm_hardware fields in the PCM
open callback of hda driver.  This makes a bit easier to debug any PCM
setup errors in the codec side.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callback
Takashi Iwai [Fri, 3 Jul 2009 21:06:45 +0000 (23:06 +0200)]
ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callback

The PCM rates bit field may have been changed by the codec open callback.
In that case, we need to reset rate_min and rate_max.  So, simply call
snd_pcm_lib_hw_rates() again after the codec open callback.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Avoid invalid formats and rates with shared SPDIF
Takashi Iwai [Fri, 3 Jul 2009 21:03:30 +0000 (23:03 +0200)]
ALSA: hda - Avoid invalid formats and rates with shared SPDIF

Check whether formats and rates don't result in zero due to the
restriction of SPDIF sharing.  If any of them can be zero, disable
the SPDIF sharing mode instead.  Otherwise it will lead to a PCM
configuration error.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 3 Jul 2009 13:03:35 +0000 (15:03 +0200)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Improve ASUS eeePC 1000 mixer
Takashi Iwai [Fri, 3 Jul 2009 13:00:54 +0000 (15:00 +0200)]
ALSA: hda - Improve ASUS eeePC 1000 mixer

The mixer elements created for ASUS eeePC 1000 with ALC269 aren't
standard but strange words like "LineOut".  Rename the element names
to follow the standard one like "Headphone" and "Speaker".
Also, split the volumes to each so that the virtual master can control
them.

The alc269_fujitsu_mixer is removed because it's now identical with
the new eeepc mixer.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add GPIO1 control at muting with HP laptops
Takashi Iwai [Thu, 2 Jul 2009 14:10:23 +0000 (16:10 +0200)]
ALSA: hda - Add GPIO1 control at muting with HP laptops

HP laptops with AD1984A codecs (at least mobile models) need to set
GPIO1 appropriately to indicate the mute state.  The BIOS checks this
bit to judge whether the mute on or off is sent via F8 key.
Without changing this bit, the BIOS can be confused and may toggle
the mute wrongly.

Reference: Novell bnc#515266
https://bugzilla.novell.com/show_bug.cgi?id=515266

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Manually expand alc882_init_verbs
Takashi Iwai [Fri, 3 Jul 2009 08:58:12 +0000 (10:58 +0200)]
ALSA: hda - Manually expand alc882_init_verbs

Instead of expanding alc882_init_verbs to two elements via a macro,
manually expand to each entry.  This makes clear that some have already
the full slot for init_verbs array (currently 5).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing mixer amp initialization for ALC882
Takashi Iwai [Fri, 3 Jul 2009 08:56:10 +0000 (10:56 +0200)]
ALSA: hda - Add missing mixer amp initialization for ALC882

After merting patch_alc882() and patch_alc883(), the initialization of
mixer amp 0x0b was missing in alc882_base_init_verbs[].
This is usually no critical problem, but it can disable the power-saving
as the default state, so better to put to mute these channels.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 1 Jul 2009 16:09:15 +0000 (18:09 +0200)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Add quirk for HP 6930p
Takashi Iwai [Wed, 1 Jul 2009 16:08:01 +0000 (18:08 +0200)]
ALSA: hda - Add quirk for HP 6930p

Added a quirk model=laptop for HP 6930p (103c:30dc) with AD1984A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Allow FLOAT PCM format
Takashi Iwai [Wed, 1 Jul 2009 16:05:27 +0000 (18:05 +0200)]
ALSA: hda - Allow FLOAT PCM format

So far, the FLOAT PCM format is used only exclusivley set.  But
this can be a combination with other formats.

This patch changes the parser to allow the FLOAT format in addition
to other PCM formats.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add missing static to patch_ca0110()
Takashi Iwai [Wed, 1 Jul 2009 06:34:32 +0000 (08:34 +0200)]
ALSA: hda - Add missing static to patch_ca0110()

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix input pinctl for ALC882 auto mode
Takashi Iwai [Tue, 30 Jun 2009 14:11:11 +0000 (16:11 +0200)]
ALSA: hda - Fix input pinctl for ALC882 auto mode

alc882_auto_init_analog_input() sets the input pins to VREF-80 regardless
of the input pin types although it shouldn't be for line-in pins.

This patch fixes the behavior to follow other codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Merge patch_alc882() and patch_alc883()
Takashi Iwai [Tue, 30 Jun 2009 13:28:30 +0000 (15:28 +0200)]
ALSA: hda - Merge patch_alc882() and patch_alc883()

Merge patch_alc882() and patch_alc883() to the former one since both
codecs have fairly similar connections but just a slight difference.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'topic/hda-patch' into topic/hda
Takashi Iwai [Tue, 30 Jun 2009 13:29:38 +0000 (15:29 +0200)]
Merge branch 'topic/hda-patch' into topic/hda

15 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Tue, 30 Jun 2009 13:12:11 +0000 (15:12 +0200)]
Merge branch 'fix/hda' into topic/hda

15 years agoALSA: hda - Add missing initializations for ALC268 and ALC269
Takashi Iwai [Mon, 29 Jun 2009 09:33:53 +0000 (11:33 +0200)]
ALSA: hda - Add missing initializations for ALC268 and ALC269

During the changes to clean up / fix the realtek codec initialization
routines in commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51,
I forgot to add the check for ALC268 and ALC269.
This resulted in the missing EAPD and COEF setup for these codecs.

This patch adds the missing checks for these codecs.

Reference: bko#13633
http://bugzilla.kernel.org/show_bug.cgi?id=13633

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'fix/hda-samsung-p50' into topic/hda
Takashi Iwai [Mon, 29 Jun 2009 06:51:09 +0000 (08:51 +0200)]
Merge branch 'fix/hda-samsung-p50' into topic/hda

15 years agoALSA: hda - Check "beep" hint
Takashi Iwai [Mon, 29 Jun 2009 06:34:06 +0000 (08:34 +0200)]
ALSA: hda - Check "beep" hint

Check the hint "beep" in snd_hda_attach_beep_device() to avoid the beep
device creation if user doesn't want.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Line In for Acer Inspire 6530G model
Tony Vroon [Fri, 26 Jun 2009 08:27:50 +0000 (09:27 +0100)]
ALSA: hda - Line In for Acer Inspire 6530G model

The Line In connector is set up as PIN_IN by default, using
VREF_HIZ. It is connected to both ADCs, so add it to both
input selectors.
Also add the ability to use the input mix (on a SoundBlaster
one would call this "What You Hear").

Signed-off-by: Tony Vroon <tony@linx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G
Takashi Iwai [Thu, 25 Jun 2009 06:25:35 +0000 (08:25 +0200)]
ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G

For Acer Aspire 6930G (1025:015e), acre-aspire-6530g model matches
obviously better.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Fix acer-aspire-6530g model quirk
Emilio López [Thu, 25 Jun 2009 06:18:44 +0000 (08:18 +0200)]
ALSA: hda - Fix acer-aspire-6530g model quirk

Fix the following bugs of acer-aspire-6530g model with ALC888:
- HP jack to mute all speaker outputs including LFE
- Make digital built-in mic working

Signed-off-by: Emilio López <buhitoescolar@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - Add pin-sense trigger when needed for Realtek codecs
Takashi Iwai [Thu, 25 Jun 2009 06:13:40 +0000 (08:13 +0200)]
ALSA: hda - Add pin-sense trigger when needed for Realtek codecs

Realtek codecs require the pin-sense trigger call before actually
reading the pin-sense.  Without this, the pin-detection might not be
done accurately.

This patch adds the pin-capability check and issues the trigger call
if required.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoLinux 2.6.31-rc1
Linus Torvalds [Wed, 24 Jun 2009 23:25:37 +0000 (16:25 -0700)]
Linux 2.6.31-rc1

15 years agoRevert "PCI: use ACPI _CRS data by default"
Linus Torvalds [Wed, 24 Jun 2009 23:23:03 +0000 (16:23 -0700)]
Revert "PCI: use ACPI _CRS data by default"

This reverts commit 9e9f46c44e487af0a82eb61b624553e2f7118f5b.

Quoting from the commit message:

 "At this point, it seems to solve more problems than it causes, so let's
  try using it by default.  It's an easy revert if it ends up causing
  trouble."

And guess what? The _CRS code causes trouble.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge git://git.infradead.org/battery-2.6
Linus Torvalds [Wed, 24 Jun 2009 21:35:57 +0000 (14:35 -0700)]
Merge git://git.infradead.org/battery-2.6

* git://git.infradead.org/battery-2.6:
  da9030_battery: Fix race between event handler and monitor
  Add MAX17040 Fuel Gauge driver
  w1: ds2760_battery: add support for sleep mode feature
  w1: ds2760: add support for EEPROM read and write
  ds2760_battery: cleanups in ds2760_battery_probe()

15 years agoMerge branches 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro...
Linus Torvalds [Wed, 24 Jun 2009 21:17:14 +0000 (14:17 -0700)]
Merge branches 'for-linus' of git://git./linux/kernel/git/viro/{vfs-2.6,audit-current}

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
  another race fix in jfs_check_acl()
  Get "no acls for this inode" right, fix shmem breakage
  inline functions left without protection of ifdef (acl)

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
  audit: inode watches depend on CONFIG_AUDIT not CONFIG_AUDIT_SYSCALL

15 years agoanother race fix in jfs_check_acl()
Al Viro [Wed, 24 Jun 2009 21:02:42 +0000 (17:02 -0400)]
another race fix in jfs_check_acl()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoGet "no acls for this inode" right, fix shmem breakage
Al Viro [Wed, 24 Jun 2009 20:58:48 +0000 (16:58 -0400)]
Get "no acls for this inode" right, fix shmem breakage

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoaudit: inode watches depend on CONFIG_AUDIT not CONFIG_AUDIT_SYSCALL
Eric Paris [Wed, 24 Jun 2009 20:09:01 +0000 (16:09 -0400)]
audit: inode watches depend on CONFIG_AUDIT not CONFIG_AUDIT_SYSCALL

Even though one cannot make use of the audit watch code without
CONFIG_AUDIT_SYSCALL the spaghetti nature of the audit code means that
the audit rule filtering requires that it at least be compiled.

Thus build the audit_watch code when we build auditfilter like it was
before cfcad62c74abfef83762dc05a556d21bdf3980a2

Clearly this is a point of potential future cleanup..

Reported-by: Frans Pop <elendil@planet.nl>
Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoinline functions left without protection of ifdef (acl)
Markus Trippelsdorf [Wed, 24 Jun 2009 20:28:52 +0000 (22:28 +0200)]
inline functions left without protection of ifdef (acl)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoMerge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Wed, 24 Jun 2009 20:33:19 +0000 (13:33 -0700)]
Merge branch 'futexes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  futex: Fix the write access fault problem for real

15 years agofutex: Fix the write access fault problem for real
Thomas Gleixner [Thu, 11 Jun 2009 21:15:43 +0000 (23:15 +0200)]
futex: Fix the write access fault problem for real

commit 64d1304a64 (futex: setup writeable mapping for futex ops which
modify user space data) did address only half of the problem of write
access faults.

The patch was made on two wrong assumptions:

1) access_ok(VERIFY_WRITE,...) would actually check write access.

   On x86 it does _NOT_. It's a pure address range check.

2) a RW mapped region can not go away under us.

   That's wrong as well. Nobody can prevent another thread to call
   mprotect(PROT_READ) on that region where the futex resides. If that
   call hits between the get_user_pages_fast() verification and the
   actual write access in the atomic region we are toast again.

The solution is to not rely on access_ok and get_user() for any write
access related fault on private and shared futexes. Instead we need to
fault it in with verification of write access.

There is no generic non destructive write mechanism which would fault
the user page in trough a #PF, but as we already know that we will
fault we can as well call get_user_pages() directly and avoid the #PF
overhead.

If get_user_pages() returns -EFAULT we know that we can not fix it
anymore and need to bail out to user space.

Remove a bunch of confusing comments on this issue as well.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@kernel.org
15 years agoSLUB: Don't pass __GFP_FAIL for the initial allocation
Pekka Enberg [Wed, 24 Jun 2009 18:59:51 +0000 (21:59 +0300)]
SLUB: Don't pass __GFP_FAIL for the initial allocation

SLUB uses higher order allocations by default but falls back to small
orders under memory pressure. Make sure the GFP mask used in the initial
allocation doesn't include __GFP_NOFAIL.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoDon't warn about order-1 allocations with __GFP_NOFAIL
Linus Torvalds [Wed, 24 Jun 2009 19:16:49 +0000 (12:16 -0700)]
Don't warn about order-1 allocations with __GFP_NOFAIL

Traditionally, we never failed small orders (even regardless of any
__GFP_NOFAIL flags), and slab will allocate order-1 allocations even for
small allocations that could fit in a single page (in order to avoid
excessive fragmentation).

Maybe we should remove this warning entirely, but before making that
judgement, at least limit it to bigger allocations.

Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 24 Jun 2009 17:47:38 +0000 (10:47 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  Staging: octeon-ethernet: Fix race freeing transmit buffers.
  Staging: octeon-ethernet: Convert to use net_device_ops.
  MIPS: Cavium: Add CPU hotplugging code.
  MIPS: SMP: Allow suspend and hibernation if CPU hotplug is available
  MIPS: Add arch generic CPU hotplug
  DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set
  MIPS: Sibyte: Fix build error if CONFIG_SERIAL_SB1250_DUART is undefined.
  MIPS: MIPSsim: Fix build error if MSC01E_INT_BASE is undefined.
  MIPS: Hibernation: Remove SMP TLB and cacheflushing code.
  MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users.
  MIPS: bug.h Build fix - include <linux/compiler.h>.

15 years agoStaging: octeon-ethernet: Fix race freeing transmit buffers.
David Daney [Tue, 23 Jun 2009 23:20:56 +0000 (16:20 -0700)]
Staging: octeon-ethernet: Fix race freeing transmit buffers.

The existing code had the following race:

Thread-1                       Thread-2

inc/read in_use
                               inc/read in_use
inc tx_free_list[qos].len
                               inc tx_free_list[qos].len

The actual in_use value was incremented twice, but thread-1 is going
to free memory based on its stale value, and will free one too many
times.  The result is that memory is freed back to the kernel while
its packet is still in the transmit buffer.  If the memory is
overwritten before it is transmitted, the hardware will put a valid
checksum on it and send it out (just like it does with good packets).
If by chance the TCP flags are clobbered but not the addresses or
ports, the result can be a broken TCP stream.

The fix is to track the number of freed packets in a single location
(a Fetch-and-Add Unit register).  That way it can never get out of sync
with itself.

We try to free up to MAX_SKB_TO_FREE (currently 10) buffers at a time.
If fewer are available we adjust the free count with the difference.
The action of claiming buffers to free is atomic so two threads cannot
claim the same buffers.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoStaging: octeon-ethernet: Convert to use net_device_ops.
David Daney [Tue, 23 Jun 2009 18:34:08 +0000 (11:34 -0700)]
Staging: octeon-ethernet: Convert to use net_device_ops.

Convert the driver to use net_device_ops as it is now mandatory.

Also compensate for the removal of struct sk_buff's dst field.

The changes are mostly mechanical, the content of ethernet-common.c
was moved to ethernet.c and ethernet-common.{c,h} are removed.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Cavium: Add CPU hotplugging code.
Ralf Baechle [Tue, 23 Jun 2009 09:36:38 +0000 (10:36 +0100)]
MIPS: Cavium: Add CPU hotplugging code.

Thanks to Cavium Inc. for the code contribution and help.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: SMP: Allow suspend and hibernation if CPU hotplug is available
Ralf Baechle [Tue, 23 Jun 2009 09:20:56 +0000 (10:20 +0100)]
MIPS: SMP: Allow suspend and hibernation if CPU hotplug is available

The SMP implementation of suspend and hibernate depends on CPU hotplugging.
In the past we didn't have CPU hotplug so suspend and hibernation were not
possible on SMP systems.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add arch generic CPU hotplug
Ralf Baechle [Tue, 23 Jun 2009 09:00:31 +0000 (10:00 +0100)]
MIPS: Add arch generic CPU hotplug

Each platform has to add support for CPU hotplugging itself by providing
suitable definitions for the cpu_disable and cpu_die of the smp_ops
methods and setting SYS_SUPPORTS_HOTPLUG_CPU.  A platform should only set
SYS_SUPPORTS_HOTPLUG_CPU once all it's smp_ops definitions have the
necessary changes.  This patch contains the changes to the dummy smp_ops
definition for uni-processor systems.

Parts of the code contributed by Cavium Inc.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoDMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set
Atsushi Nemoto [Wed, 17 Jun 2009 20:08:31 +0000 (13:08 -0700)]
DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set

This patch does not change actual behaviour since dma_unmap_page is just
an alias of dma_unmap_single on MIPS.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Sibyte: Fix build error if CONFIG_SERIAL_SB1250_DUART is undefined.
Ralf Baechle [Mon, 22 Jun 2009 15:17:52 +0000 (16:17 +0100)]
MIPS: Sibyte: Fix build error if CONFIG_SERIAL_SB1250_DUART is undefined.

This fixes kernel.org bugzilla 13596, see
http://bugzilla.kernel.org/show_bug.cgi?id=13596

Reported-by: dvice_null@yahoo.com
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: MIPSsim: Fix build error if MSC01E_INT_BASE is undefined.
Ralf Baechle [Mon, 22 Jun 2009 14:48:27 +0000 (15:48 +0100)]
MIPS: MIPSsim: Fix build error if MSC01E_INT_BASE is undefined.

This fixes kernel.org bugzilla 13595, see
http://bugzilla.kernel.org/show_bug.cgi?id=13595

Reported-by: dvice_null@yahoo.com
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Hibernation: Remove SMP TLB and cacheflushing code.
Ralf Baechle [Fri, 19 Jun 2009 14:01:44 +0000 (15:01 +0100)]
MIPS: Hibernation: Remove SMP TLB and cacheflushing code.

We can't perform any flushes on SMP from swsusp_arch_resume because
interrupts are disabled.  A cross-CPU flush is unnecessary anyway
because all but the local CPU have already been disabled.  A local
flush is not needed either because we didn't change any mappings.  So
just delete the code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users.
Ralf Baechle [Fri, 19 Jun 2009 13:05:26 +0000 (14:05 +0100)]
MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users.

Some of the were relying into smp.h being dragged in by another header
which of course is fragile.  <asm/cpu-info.h> uses smp_processor_id()
only in macros and including smp.h there leads to an include loop, so
don't change cpu-info.h.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: bug.h Build fix - include <linux/compiler.h>.
Ralf Baechle [Fri, 19 Jun 2009 12:51:28 +0000 (13:51 +0100)]
MIPS: bug.h Build fix - include <linux/compiler.h>.

In the past this file somehow used to be dragged in.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm
Linus Torvalds [Wed, 24 Jun 2009 17:26:54 +0000 (10:26 -0700)]
Merge git://git./linux/kernel/git/agk/linux-2.6-dm

* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (48 commits)
  dm mpath: change to be request based
  dm: disable interrupt when taking map_lock
  dm: do not set QUEUE_ORDERED_DRAIN if request based
  dm: enable request based option
  dm: prepare for request based option
  dm raid1: add userspace log
  dm: calculate queue limits during resume not load
  dm log: fix create_log_context to use logical_block_size of log device
  dm target:s introduce iterate devices fn
  dm table: establish queue limits by copying table limits
  dm table: replace struct io_restrictions with struct queue_limits
  dm table: validate device logical_block_size
  dm table: ensure targets are aligned to logical_block_size
  dm ioctl: support cookies for udev
  dm: sysfs add suspended attribute
  dm table: improve warning message when devices not freed before destruction
  dm mpath: add service time load balancer
  dm mpath: add queue length load balancer
  dm mpath: add start_io and nr_bytes to path selectors
  dm snapshot: use barrier when writing exception store
  ...

15 years agoMerge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb
Linus Torvalds [Wed, 24 Jun 2009 17:26:24 +0000 (10:26 -0700)]
Merge branch 'for-upstream' of git://git./linux/kernel/git/dvrabel/uwb

* 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:
  uwb: allow WLP to be used with IPv6.
  uwb: event_size should be signed

15 years agoMerge branch 'audit.b63' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
Linus Torvalds [Wed, 24 Jun 2009 17:22:57 +0000 (10:22 -0700)]
Merge branch 'audit.b63' of git://git./linux/kernel/git/viro/audit-current

* 'audit.b63' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
  Fix rule eviction order for AUDIT_DIR
  Audit: clean up all op= output to include string quoting
  Audit: move audit_get_nd completely into audit_watch
  audit: seperate audit inode watches into a subfile
  Audit: clean up audit_receive_skb
  Audit: cleanup netlink mesg handling
  Audit: unify the printk of an skb when auditd not around
  Audit: dereferencing krule as if it were an audit_watch
  Audit: better estimation of execve record length
  Audit: fix audit watch use after free

15 years agoMAINTAINERS: Change mailing list info for CRIS
Jesper Nilsson [Wed, 24 Jun 2009 07:33:19 +0000 (09:33 +0200)]
MAINTAINERS: Change mailing list info for CRIS

Posting to the dev-etrax mailing list is only allowed for subscribers,
and the list is more geared toward user applications than kernel
developers.

Change to newly created mailing list for CRIS.

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Wed, 24 Jun 2009 17:17:07 +0000 (10:17 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (72 commits)
  asus-laptop: remove EXPERIMENTAL dependency
  asus-laptop: use pr_fmt and pr_<level>
  eeepc-laptop: cpufv updates
  eeepc-laptop: sync eeepc-laptop with asus_acpi
  asus_acpi: Deprecate in favor of asus-laptop
  acpi4asus: update MAINTAINER and KConfig links
  asus-laptop: platform dev as parent for led and backlight
  eeepc-laptop: enable camera by default
  ACPI: Rename ACPI processor device bus ID
  acerhdf: Acer Aspire One fan control
  ACPI: video: DMI workaround broken Acer 7720 BIOS enabling display brightness
  ACPI: run ACPI device hot removal in kacpi_hotplug_wq
  ACPI: Add the reference count to avoid unloading ACPI video bus twice
  ACPI: DMI to disable Vista compatibility on some Sony laptops
  ACPI: fix a deadlock in hotplug case
  Show the physical device node of backlight class device.
  ACPI: pdc init related memory leak with physical CPU hotplug
  ACPI: pci_root: remove unused dev/fn information
  ACPI: pci_root: simplify list traversals
  ACPI: pci_root: use driver data rather than list lookup
  ...

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
Linus Torvalds [Wed, 24 Jun 2009 17:03:12 +0000 (10:03 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/viro/vfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (23 commits)
  switch xfs to generic acl caching helpers
  helpers for acl caching + switch to those
  switch shmem to inode->i_acl
  switch reiserfs to inode->i_acl
  switch reiserfs to usual conventions for caching ACLs
  reiserfs: minimal fix for ACL caching
  switch nilfs2 to inode->i_acl
  switch btrfs to inode->i_acl
  switch jffs2 to inode->i_acl
  switch jfs to inode->i_acl
  switch ext4 to inode->i_acl
  switch ext3 to inode->i_acl
  switch ext2 to inode->i_acl
  add caching of ACLs in struct inode
  fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls
  cleanup __writeback_single_inode
  ... and the same for vfsmount id/mount group id
  Make allocation of anon devices cheaper
  update Documentation/filesystems/Locking
  devpts: remove module-related code
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
Linus Torvalds [Wed, 24 Jun 2009 17:01:12 +0000 (10:01 -0700)]
Merge git://git./linux/kernel/git/davem/net-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6:
  bnx2: Fix the behavior of ethtool when ONBOOT=no
  qla3xxx: Don't sleep while holding lock.
  qla3xxx: Give the PHY time to come out of reset.
  ipv4 routing: Ensure that route cache entries are usable and reclaimable with caching is off
  net: Move rx skb_orphan call to where needed
  ipv6: Use correct data types for ICMPv6 type and code
  net: let KS8842 driver depend on HAS_IOMEM
  can: let SJA1000 driver depend on HAS_IOMEM
  netxen: fix firmware init handshake
  netxen: fix build with without CONFIG_PM
  netfilter: xt_rateest: fix comparison with self
  netfilter: xt_quota: fix incomplete initialization
  netfilter: nf_log: fix direct userspace memory access in proc handler
  netfilter: fix some sparse endianess warnings
  netfilter: nf_conntrack: fix conntrack lookup race
  netfilter: nf_conntrack: fix confirmation race condition
  netfilter: nf_conntrack: death_by_timeout() fix

15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
Linus Torvalds [Wed, 24 Jun 2009 16:57:10 +0000 (09:57 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/jack/linux-udf-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:
  udf: remove redundant tests on unsigned
  udf: Use device size when drive reported bogus number of written blocks

15 years agoRemove low_latency flag setting from nozomi and mxser drivers
Chuck Ebbert [Wed, 24 Jun 2009 17:35:13 +0000 (18:35 +0100)]
Remove low_latency flag setting from nozomi and mxser drivers

The kernel oopses if this flag is set.

[and neither driver should set it as they call tty_flip_buffer_push from IRQ
 paths so have always been buggy]

Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agotty: fix tty_port_block_til_ready waiting
Jiri Slaby [Wed, 24 Jun 2009 17:35:05 +0000 (18:35 +0100)]
tty: fix tty_port_block_til_ready waiting

Since commit 3e3b5c087799e536871c8261b05bc28e4783c8da ("tty: use
prepare/finish_wait"), tty_port_block_til_ready() is using
prepare_to_wait()/finish_wait().  Those functions require that the
wait_queue_t be initialised with .func=autoremove_wake_function, via
DEFINE_WAIT().

But the conversion from DECLARE_WAITQUEUE() to DEFINE_WAIT() was not made,
so this code will oops in finish_wait().

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agopci: use pci_ioremap_bar() in drivers/serial
Arjan van de Ven [Wed, 24 Jun 2009 17:34:58 +0000 (18:34 +0100)]
pci: use pci_ioremap_bar() in drivers/serial

Use the newly introduced pci_ioremap_bar() function in drivers/serial.
pci_ioremap_bar() just takes a pci device and a bar number, with the goal
of making it really hard to get wrong, while also having a central place
to stick sanity checks.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agosynclink_gt: fix transmit race and timeout
Paul Fulghum [Wed, 24 Jun 2009 17:34:51 +0000 (18:34 +0100)]
synclink_gt: fix transmit race and timeout

Fix race condition when adding transmit data to active DMA buffer ring
that can cause transmit stall.

Update transmit timeout when adding data to active DMA buffer ring.
Base transmit timeout on amount of buffered data instead of using fixed
value.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agojsm: clean up "serial: jsm: correctly support 4 8 port boards"
Andrew Morton [Wed, 24 Jun 2009 17:34:43 +0000 (18:34 +0100)]
jsm: clean up "serial: jsm: correctly support 4 8 port boards"

Remove unneeded casts.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agokgdb: kgdboc console poll hooks for serial_txx9 uart
Atsushi Nemoto [Wed, 24 Jun 2009 17:34:34 +0000 (18:34 +0100)]
kgdb: kgdboc console poll hooks for serial_txx9 uart

Implement the serial polling hooks for the serial_txx9 uart for use with
kgdboc.

This patch once got SOB from Jason on Jul 2008 and (perhaps) merged into
kgdb-next branch, but lost somewhere then.  I resend it now with Jason's
Acked-by.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoswitch xfs to generic acl caching helpers
Al Viro [Tue, 9 Jun 2009 17:29:39 +0000 (13:29 -0400)]
switch xfs to generic acl caching helpers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agohelpers for acl caching + switch to those
Al Viro [Tue, 9 Jun 2009 16:11:54 +0000 (12:11 -0400)]
helpers for acl caching + switch to those

helpers: get_cached_acl(inode, type), set_cached_acl(inode, type, acl),
forget_cached_acl(inode, type).

ubifs/xattr.c needed includes reordered, the rest is a plain switchover.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch shmem to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:56:00 +0000 (19:56 -0400)]
switch shmem to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch reiserfs to inode->i_acl
Al Viro [Tue, 9 Jun 2009 01:07:04 +0000 (21:07 -0400)]
switch reiserfs to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch reiserfs to usual conventions for caching ACLs
Al Viro [Tue, 9 Jun 2009 01:01:13 +0000 (21:01 -0400)]
switch reiserfs to usual conventions for caching ACLs

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoreiserfs: minimal fix for ACL caching
Al Viro [Tue, 9 Jun 2009 00:46:54 +0000 (20:46 -0400)]
reiserfs: minimal fix for ACL caching

reiserfs uses NULL as "unknown" and ERR_PTR(-ENODATA) as "no ACL";
several codepaths store the former instead of the latter.

All those codepaths go through iset_acl() and all cases when it's
called with NULL acl are for the second variety, so the minimal
fix is to teach iset_acl() to deal with that.

Proper fix is to switch to more usual conventions and avoid back
and forth between internally used ERR_PTR(-ENODATA) and NULL
expected by the rest of the kernel.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch nilfs2 to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:56:34 +0000 (19:56 -0400)]
switch nilfs2 to inode->i_acl

Actually, get rid of private analog, since nothing in there is
using ACLs at all so far.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch btrfs to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:55:32 +0000 (19:55 -0400)]
switch btrfs to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch jffs2 to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:55:12 +0000 (19:55 -0400)]
switch jffs2 to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch jfs to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:54:52 +0000 (19:54 -0400)]
switch jfs to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch ext4 to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:54:26 +0000 (19:54 -0400)]
switch ext4 to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch ext3 to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:53:58 +0000 (19:53 -0400)]
switch ext3 to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoswitch ext2 to inode->i_acl
Al Viro [Mon, 8 Jun 2009 23:52:55 +0000 (19:52 -0400)]
switch ext2 to inode->i_acl

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoadd caching of ACLs in struct inode
Al Viro [Mon, 8 Jun 2009 23:50:45 +0000 (19:50 -0400)]
add caching of ACLs in struct inode

No helpers, no conversions yet.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agofs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls
Ankit Jain [Fri, 19 Jun 2009 18:28:07 +0000 (14:28 -0400)]
fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls

This patch adds ioctls to vfs for compatibility with legacy XFS
pre-allocation ioctls (XFS_IOC_*RESVP*). The implementation
effectively invokes sys_fallocate for the new ioctls.
Also handles the compat_ioctl case.
Note: These legacy ioctls are also implemented by OCFS2.

[AV: folded fixes from hch]

Signed-off-by: Ankit Jain <me@ankitjain.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agocleanup __writeback_single_inode
Christoph Hellwig [Mon, 8 Jun 2009 11:35:40 +0000 (13:35 +0200)]
cleanup __writeback_single_inode

There is no reason to for the split between __writeback_single_inode and
__sync_single_inode, the former just does a couple of checks before
tail-calling the latter.  So merge the two, and while we're at it split
out the I_SYNC waiting case for data integrity writers, as it's
logically separate function.  Finally rename __writeback_single_inode to
writeback_single_inode.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago... and the same for vfsmount id/mount group id
Al Viro [Wed, 24 Jun 2009 07:12:00 +0000 (03:12 -0400)]
... and the same for vfsmount id/mount group id

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agoMake allocation of anon devices cheaper
Al Viro [Wed, 24 Jun 2009 06:05:18 +0000 (02:05 -0400)]
Make allocation of anon devices cheaper

Standard trick - add a new variable (start) such that
for each n < start n is known to be busy.  Allocation can
skip checking everything in [0..start) and if it returns
n, we can set start to n + 1.  Freeing below start sets
start to what we'd just freed.

Of course, it still sucks if we do something like
free 0
allocate
allocate
in a loop - still O(n^2) time.  However, on saner loads it
improves the things a lot and the entire thing is not worth
the trouble of switching to something with better worst-case
behaviour.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>