linux-2.6
15 years agoacpi-cpufreq: style-only: add parens to math expression
Thomas Renninger [Fri, 17 Apr 2009 14:22:07 +0000 (16:22 +0200)] 
acpi-cpufreq: style-only: add parens to math expression

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoacpi-cpufreq: Cleanup: Use printk_once
Thomas Renninger [Fri, 17 Apr 2009 14:22:06 +0000 (16:22 +0200)] 
acpi-cpufreq: Cleanup: Use printk_once

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agox86, acpi_cpufreq: Fix the NULL pointer dereference in get_measured_perf
Pallipadi, Venkatesh [Wed, 15 Apr 2009 17:37:33 +0000 (10:37 -0700)] 
x86, acpi_cpufreq: Fix the NULL pointer dereference in get_measured_perf

Fix for a regression that was introduced by earlier commit
18b2646fe3babeb40b34a0c1751e0bf5adfdc64c on Mon Apr 6 11:26:08 2009

Regression resulted in the below error happened on systems with
software coordination where per_cpu acpi data will not be initiated for
secondary CPUs in a P-state domain.

On Tue, 2009-04-14 at 23:01 -0700, Zhang, Yanmin wrote:
 My machine hanged with kernel 2.6.30-rc2 when script read
> /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor.
>
> opps happens in get_measured_perf:
>
>         cur.aperf.whole = readin.aperf.whole -
>                                 per_cpu(drv_data, cpu)->saved_aperf;
>
> Because per_cpu(drv_data, cpu)=NULL.
>
> So function get_measured_perf should check if (per_cpu(drv_data,
> cpu)==NULL)
> and return 0 if it's NULL.

--------------sys log------------------

BUG: unable to handle kernel NULL pointer dereference at
0000000000000020
IP: [<ffffffff8021af75>] get_measured_perf+0x4a/0xf9
PGD a7dd88067 PUD a7ccf5067 PMD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
CPU 0
Modules linked in: video output
Pid: 2091, comm: kondemand/0 Not tainted 2.6.30-rc2 #1 MP Server
RIP: 0010:[<ffffffff8021af75>]  [<ffffffff8021af75>]
get_measured_perf+0x4a/0xf9
RSP: 0018:ffff880a7d56de20  EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00000046241a42b6 RCX: ffff88004d219000
RDX: 000000000000b660 RSI: 0000000000000020 RDI: 0000000000000001
RBP: ffff880a7f052000 R08: 00000046241a42b6 R09: ffffffff807639f0
R10: 00000000ffffffea R11: ffffffff802207f4 R12: ffff880a7f052000
R13: ffff88004d20e460 R14: 0000000000ddd5a6 R15: 0000000000000001
FS:  0000000000000000(0000) GS:ffff88004d200000(0000)
knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000020 CR3: 0000000a7f1bf000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kondemand/0 (pid: 2091, threadinfo ffff880a7d56c000, task
ffff880a7d4d18c0)
Stack:
 ffff880a7f052078 ffffffff803efd54 00000046241a42b6 000000462ffa9e95
 0000000000000001 0000000000000001 00000000ffffffea ffffffff8064f41a
 0000000000000012 0000000000000012 ffff880a7f052000 ffffffff80650547
Call Trace:
 [<ffffffff803efd54>] ? kobject_get+0x12/0x17
 [<ffffffff8064f41a>] ? __cpufreq_driver_getavg+0x42/0x57
 [<ffffffff80650547>] ? do_dbs_timer+0x147/0x272
 [<ffffffff80650400>] ? do_dbs_timer+0x0/0x272
 [<ffffffff802474ca>] ? worker_thread+0x15b/0x1f5
 [<ffffffff8024a02c>] ? autoremove_wake_function+0x0/0x2e
 [<ffffffff8024736f>] ? worker_thread+0x0/0x1f5
 [<ffffffff80249f0d>] ? kthread+0x54/0x83
 [<ffffffff8020c87a>] ? child_rip+0xa/0x20
 [<ffffffff80249eb9>] ? kthread+0x0/0x83
 [<ffffffff8020c870>] ? child_rip+0x0/0x20
Code: 99 a6 03 00 31 c9 85 c0 0f 85 c3 00 00 00 89 df 4c 8b 44 24 10 48
c7 c2 60 b6 00 00 48 8b 0c fd e0 30 a5 80 4c 89 c3 48 8b 04 0a <48> 2b
58 20 48 8b 44 24 18 48 89 1c 24 48 8b 34 0a 48 2b 46 28
RIP  [<ffffffff8021af75>] get_measured_perf+0x4a/0xf9
 RSP <ffff880a7d56de20>
CR2: 0000000000000020
---[ end trace 2b8fac9a49e19ad4 ]---

Tested-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio
Linus Torvalds [Sun, 19 Apr 2009 17:58:20 +0000 (10:58 -0700)] 
Merge git://git./linux/kernel/git/rusty/linux-2.6-lguest-and-virtio

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio:
  lguest: document 32-bit and PAE requirements
  lguest: tell git to ignore Documentation/lguest/lguest
  virtio: fix suspend when using virtio_balloon
  lguest: fix guest crash on non-linear addresses in gdt pvops
  lguest: fix crash on vmlinux images

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Sun, 19 Apr 2009 17:57:38 +0000 (10:57 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: hda - Set function_id only on FG nodes
  ALSA: MAINTAINERS - Update SOUND
  ALSA: emu10k1 - off by 1 in snd_emu10k1_wait()
  ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
  ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
  ASoC: Fix include build error in s3c2412-i2s.c
  ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
  ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
  ASoC: Fix jive_wm8750.c build problems
  ASoC: pxa-ssp: allow setting of dai format 0
  ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too
  ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs
  ALSA: Intel8x0: Add hp_only quirk for SSID 0x1028016a (Dell Inspiron 8600)
  ALSA: Intel8x0: Remove conflicting quirk for SSID 0x103c0934
  ALSA: hda_intel.c - Consolidate bitfields

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes
Linus Torvalds [Sun, 19 Apr 2009 17:54:06 +0000 (10:54 -0700)] 
Merge git://git./linux/kernel/git/sam/kbuild-fixes

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
  kbuild: introduce subdir-ccflags-y
  kbuild: support include/generated

15 years agoRevert "console ASCII glyph 1:1 mapping"
Samuel Thibault [Sat, 18 Apr 2009 20:17:17 +0000 (22:17 +0200)] 
Revert "console ASCII glyph 1:1 mapping"

This reverts commit 1c55f18717304100a5f624c923f7cb6511b4116d.

Ingo Brueckl was assuming that reverting to 1:1 mapping for chars >= 128
was not useful, but it happens to be: due to the limitations of the
Linux console, when a blind user wants to read BIG5 on it, he has no
other way than loading a font without SFM and let the 1:1 mapping permit
the screen reader to get the BIG5 encoding.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years ago<linux/seccomp.h> needs to include <linux/errno.h>.
Ralf Baechle [Sat, 18 Apr 2009 09:30:56 +0000 (11:30 +0200)] 
<linux/seccomp.h> needs to include <linux/errno.h>.

<linux/seccomp.h> uses EINVAL so should include <linux/errno.h>.  This
fixes a build error on 64-bit MIPS if CONFIG_SECCOMP is disabled.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoDon't set relatime when noatime is specified
Andi Kleen [Sun, 19 Apr 2009 16:40:43 +0000 (18:40 +0200)] 
Don't set relatime when noatime is specified

Since commit 0a1c01c9477602ee8b44548a9405b2c1d587b5a2 ("Make relatime
default") when a file system is mounted explicitely with noatime it gets
both the MNT_RELATIME and MNT_NOATIME bits set.

This shows up like this in /proc/mounts:

  /dev/xxx /yyy ext3 rw,noatime,relatime,errors=continue,data=writeback 0 0

That looks strange.  The VFS uses noatime in this case, but both flags
are set.  So it's more a cosmetic issue, but still better to fix.

Cc: mjg@redhat.com
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agolguest: document 32-bit and PAE requirements
Rusty Russell [Mon, 20 Apr 2009 05:14:02 +0000 (23:14 -0600)] 
lguest: document 32-bit and PAE requirements

Robert noted that we don't actually document that lguest is 32-bit only,
nor that PAE must be off (CONFIG_PAE is now prompted for if HIGHMEM is
set to "off).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: lguest@ozlabs.org
Cc: "Robert P. J. Day" <rpjday@crashcourse.ca>
15 years agolguest: tell git to ignore Documentation/lguest/lguest
Matt Kraai [Fri, 17 Apr 2009 06:46:20 +0000 (23:46 -0700)] 
lguest: tell git to ignore Documentation/lguest/lguest

This is the example lguest launcher binary.

Signed-off-by: Matt Kraai <kraai@ftbfs.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 years agovirtio: fix suspend when using virtio_balloon
Marcelo Tosatti [Fri, 17 Apr 2009 00:14:04 +0000 (21:14 -0300)] 
virtio: fix suspend when using virtio_balloon

Break out of wait_event_interruptible() if freezing has been requested,
in the vballoon thread. Without this change vballoon refuses to stop and
the system can't suspend.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: stable@kernel.org
15 years agolguest: fix guest crash on non-linear addresses in gdt pvops
Rusty Russell [Mon, 20 Apr 2009 05:14:00 +0000 (23:14 -0600)] 
lguest: fix guest crash on non-linear addresses in gdt pvops

Fixes guest crash 'lguest: bad read address 0x4800000 len 256'

The new per-cpu allocator ends up handing a non-linear address to
write_gdt_entry.  We do __pa() on it, and hand it to the host, which
kills us.

I've long wanted to make the hypercall "LOAD_GDT_ENTRY" to match the IDT
code, but had no pressing reason until now.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: lguest@ozlabs.org
15 years agolguest: fix crash on vmlinux images
Matias Zabaljauregui [Wed, 8 Apr 2009 20:58:39 +0000 (17:58 -0300)] 
lguest: fix crash on vmlinux images

Typical message: 'lguest: unhandled trap 6 at 0x418726 (0x0)'

vmlinux guests were broken by 4cd8b5e2a159f18a1507f1187b44a1acbfa6341b
'lguest: use KVM hypercalls', which rewrites guest text from kvm hypercalls
to trap 31.

The Launcher mmaps the kernel image.  The Guest executes and
immediately faults in the first text page (read-only).  Then it hits a
hypercall, and we rewrite that hypercall, causing a copy-on-write.
But the Guest pagetables still refer to the old page: we fault again,
but as Host we see the hypercall already rewritten, and pass the fault
back to the Guest.  The Guest hasn't set up an IDT yet, so we kill it.

This doesn't happen with bzImages: they unpack themselves and so the
text pages are already read-write.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Tested-by: Patrick McHardy <kaber@trash.net>
15 years agoMerge branch 'fix/misc' into for-linus
Takashi Iwai [Sun, 19 Apr 2009 09:40:02 +0000 (11:40 +0200)] 
Merge branch 'fix/misc' into for-linus

* fix/misc:
  ALSA: MAINTAINERS - Update SOUND
  ALSA: emu10k1 - off by 1 in snd_emu10k1_wait()

15 years agoMerge branch 'fix/intel8x0' into for-linus
Takashi Iwai [Sun, 19 Apr 2009 09:39:57 +0000 (11:39 +0200)] 
Merge branch 'fix/intel8x0' into for-linus

* fix/intel8x0:
  ALSA: Intel8x0: Add hp_only quirk for SSID 0x1028016a (Dell Inspiron 8600)
  ALSA: Intel8x0: Remove conflicting quirk for SSID 0x103c0934

15 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Sun, 19 Apr 2009 09:39:46 +0000 (11:39 +0200)] 
Merge branch 'fix/hda' into for-linus

* fix/hda:
  ALSA: hda - Set function_id only on FG nodes
  ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too
  ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs
  ALSA: hda_intel.c - Consolidate bitfields

15 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Sun, 19 Apr 2009 09:39:38 +0000 (11:39 +0200)] 
Merge branch 'fix/asoc' into for-linus

* fix/asoc:
  ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
  ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
  ASoC: Fix include build error in s3c2412-i2s.c
  ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
  ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
  ASoC: Fix jive_wm8750.c build problems
  ASoC: pxa-ssp: allow setting of dai format 0

15 years agokbuild: introduce subdir-ccflags-y
Sam Ravnborg [Sun, 19 Apr 2009 09:04:26 +0000 (11:04 +0200)] 
kbuild: introduce subdir-ccflags-y

Following patch introduce support for setting options
to gcc that has effect for current directory and all
subdirectories.

The typical use case are an architecture or a subsystem that
decide to cover all files with -Werror.
Today alpha, mips and sparc uses -Werror in almost all their
Makefile- with subdir-ccflag-y it is now simpler to do so
as only the top-level directories needs to be covered.

Likewise if we decide to cover a full subsystem such
as net/ with -Werror this is done by adding a single
line to net/Makefile.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
15 years agokbuild: support include/generated
Sam Ravnborg [Sat, 18 Apr 2009 21:51:08 +0000 (23:51 +0200)] 
kbuild: support include/generated

We need a location for generated files.
Today they are spread over several places and bringing them
together to a common place makes it obvious hat is generated
and what isreal files.

Al Viro originally suggested: include/gen
Linus suggested to spell it out.

This patch implement support for

    include/generated

All files in include/generated are ignored by git.
include/generated is removed during "make mrproper".

With this we are ready to implement support for include/generated
in the various architctures and in the base kernel.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoRemove 'recurse into child resources' logic from 'reserve_region_with_split()'
Linus Torvalds [Sun, 19 Apr 2009 04:44:24 +0000 (21:44 -0700)] 
Remove 'recurse into child resources' logic from 'reserve_region_with_split()'

This function is not actually used right now, since the original use
case for it was done with insert_resource_expand_to_fit() instead.

However, we now have another usage case that wants to basically do a
"reserve IO resource, splitting around existing resources", however that
one doesn't actually want the "recurse into the conflicting resource"
logic at all.

And since recursing into the conflicting resource was the most complex
part, and isn't wanted, just remove it.  Maybe we'll some day want both
versions, but we can just resurrect the logic then.

Tested-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Sun, 19 Apr 2009 04:37:07 +0000 (21:37 -0700)] 
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  cifs: when renaming don't try to unlink negative dentry
  cifs: remove unneeded bcc_ptr update in CIFSTCon
  cifs: add cFYI messages with some of the saved strings from ssetup/tcon
  cifs: fix buffer size for tcon->nativeFileSystem field
  cifs: fix unicode string area word alignment in session setup
  [CIFS] Fix build break caused by change to new current_umask helper function
  [CIFS] Fix sparse warnings
  [CIFS] Add support for posix open during lookup
  cifs: no need to use rcu_assign_pointer on immutable keys
  cifs: remove dnotify thread code
  [CIFS] remove some build warnings
  cifs: vary timeout on writes past EOF based on offset (try #5)
  [CIFS] Fix build break from recent DFS patch when DFS support not enabled
  Remote DFS root support.
  [CIFS] Endian convert UniqueId when reporting inode numbers from server files
  cifs: remove some pointless conditionals before kfree()
  cifs: flush data on any setattr

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Sat, 18 Apr 2009 19:07:25 +0000 (12:07 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/bart/ide-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  cs5536: define dma_sff_read_status() method
  ide: fix barriers support
  ide: Remove void casts
  hpt366: use ATA_DMA_* constants
  hpt366: fix HPT370 DMA timeouts

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Sat, 18 Apr 2009 18:37:50 +0000 (11:37 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
  Smack: check for SMACK xattr validity in smack_inode_setxattr

15 years agodoc: fix kernel-parameters.txt mistaken deletions
Randy Dunlap [Sat, 18 Apr 2009 01:30:28 +0000 (18:30 -0700)] 
doc: fix kernel-parameters.txt mistaken deletions

Re-add missing kernel-parameters documentation that was accidentally
deleted in commit 0cb55ad2.

Thanks to Ingo and Weidong Han for the heads-up on this.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
cc: Ingo Molnar <mingo@elte.hu>
cc: Len Brown <lenb@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoPM/Hibernate: Fix memory shrinking
Rafael J. Wysocki [Sat, 18 Apr 2009 15:23:41 +0000 (17:23 +0200)] 
PM/Hibernate: Fix memory shrinking

Commit d979677c4c0 ("mm: shrink_all_memory(): use sc.nr_reclaimed")
broke the memory shrinking used by hibernation, becuse it did not update
shrink_all_zones() in accordance with the other changes it made.

Fix this by making shrink_all_zones() update sc->nr_reclaimed instead of
overwriting its value.

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13058

Reported-and-tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agocs5536: define dma_sff_read_status() method
Sergei Shtylyov [Sat, 18 Apr 2009 15:42:20 +0000 (17:42 +0200)] 
cs5536: define dma_sff_read_status() method

The driver somehow got merged with the initializer for the dma_sff_read_status()
method missing which caused kernel panic on bootup.

This should fix the kernel.org bug #13026...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Reported-by: Arnd Hannemann <hannemann@nets.rwth-aachen.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide: fix barriers support
Bartlomiej Zolnierkiewicz [Sat, 18 Apr 2009 15:42:20 +0000 (17:42 +0200)] 
ide: fix barriers support

Freeing non-slab objects is bad and results in an oops.  Fix it.

Reported-and-tested-by: Andrew Price <andy@andrewprice.me.uk>
Cc: Theodore Tso <tytso@mit.edu>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoide: Remove void casts
Jack Stone [Sat, 18 Apr 2009 15:42:19 +0000 (17:42 +0200)] 
ide: Remove void casts

Remove uneeded void casts

Signed-off-by: Jack Stone <jwjstone@fastmail.fm>
Cc: jeff@garzik.org
Cc: kernel-janitors@vger.kernel.org
Cc: Jack Stone <jwjstone@fastmail.fm>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agohpt366: use ATA_DMA_* constants
Sergei Shtylyov [Sat, 18 Apr 2009 15:42:19 +0000 (17:42 +0200)] 
hpt366: use ATA_DMA_* constants

Use ATA_DMA_* constants instead of the bare numbers for the BMIDE register bits.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agohpt366: fix HPT370 DMA timeouts
Sergei Shtylyov [Sat, 18 Apr 2009 15:42:19 +0000 (17:42 +0200)] 
hpt366: fix HPT370 DMA timeouts

The big driver change in 2.4.19-rc1 introduced a regression for many HPT370[A]
chips -- DMA stopped to work completely, only causing endless timeouts...

The culprit has been identified (at last!): it turned to be the code resetting
the DMA state machine before each transfer. Stop doing it now as this counter-
measure has clearly caused more harm than good.

This should fix the kernel.org bug #7703.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
15 years agoSmack: check for SMACK xattr validity in smack_inode_setxattr
Etienne Basset [Thu, 16 Apr 2009 21:58:42 +0000 (23:58 +0200)] 
Smack: check for SMACK xattr validity in smack_inode_setxattr

the following patch moves checks for SMACK xattr validity
from smack_inode_post_setxattr (which cannot return an error to the user)
to smack_inode_setxattr (which can return an error).

Signed-off-by: Etienne Basset <etienne.basset@numericable.fr>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: James Morris <jmorris@namei.org>
15 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Fri, 17 Apr 2009 23:20:29 +0000 (16:20 -0700)] 
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] fix build error on drivers/ata/pata_legacy.c
  pata_via: Cache and rewrite the device bit
  sata_mv: workaround for multi_count errata sata24
  sata_mv: tidy up qc->tf usage in qc_prep() functions

15 years ago[libata] fix build error on drivers/ata/pata_legacy.c
Zhenwen Xu [Fri, 17 Apr 2009 07:32:59 +0000 (15:32 +0800)] 
[libata] fix build error on drivers/ata/pata_legacy.c

fix those errors:

drivers/ata/pata_legacy.c: In function ‘pdc_data_xfer_vlb’:
drivers/ata/pata_legacy.c:289: error: ‘ap’ undeclared (first use in this function)
drivers/ata/pata_legacy.c:289: error: (Each undeclared identifier is reported only once
drivers/ata/pata_legacy.c:289: error: for each function it appears in.)
drivers/ata/pata_legacy.c: At top level:
drivers/ata/pata_legacy.c:869: error: ‘ATA_PFLAG_PIO32_CHANGE’ undeclared here (not in a
+function)
make[2]: *** [drivers/ata/pata_legacy.o] Error 1
make[1]: *** [drivers/ata] Error 2

Signed-off-by: Zhenwen Xu <helight.xu@gmail.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agopata_via: Cache and rewrite the device bit
Alan Cox [Fri, 17 Apr 2009 11:21:21 +0000 (12:21 +0100)] 
pata_via: Cache and rewrite the device bit

Some VIA chipsets will reset the DEV bit after IEN changes on ctl. Our
optimised write path avoids doing this but we need to remove the
optimisation on these devices.

[Identified and some original patches proposed by Josehn Chan @ VIA but
discussion then all ground to a halt so given a test case I dug it back out]

Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk
Tested-by: Christoph Bisping (bug #13086)
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agosata_mv: workaround for multi_count errata sata24
Mark Lord [Mon, 13 Apr 2009 15:29:34 +0000 (11:29 -0400)] 
sata_mv: workaround for multi_count errata sata24

Workaround for errata SATA#24 in sata_mv.
This errata affects WRITE_MULTI* commands when
the device multi_count produces a DRQ block size >= 4Kbytes.

We work around it here by converting such operations
into ordinary PIO_WRITEs instead.

Note that this might result in a PIO FUA write unavoidably being converted
into a non-FUA write.  In practice, any system using FUA is also going to be
using DMA rather than PIO, so this shouldn't affect anyone in the real world.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agosata_mv: tidy up qc->tf usage in qc_prep() functions
Mark Lord [Mon, 13 Apr 2009 15:27:18 +0000 (11:27 -0400)] 
sata_mv: tidy up qc->tf usage in qc_prep() functions

Tidy up qc->tf accesses in the mv_qc_prep() functions.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
15 years agocifs: when renaming don't try to unlink negative dentry
Jeff Layton [Fri, 17 Apr 2009 15:45:30 +0000 (11:45 -0400)] 
cifs: when renaming don't try to unlink negative dentry

When attempting to rename a file on a read-only share, the kernel can
call cifs_unlink on a negative dentry, which causes an oops. Only try
to unlink the file if it's a positive dentry.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Tested-by: Shirish Pargaonkar <shirishp@us.ibm.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
Linus Torvalds [Fri, 17 Apr 2009 20:53:34 +0000 (13:53 -0700)] 
Merge git://git./linux/kernel/git/gregkh/staging-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (43 commits)
  staging: slicoss: update README
  otus/zdusb.c: additional USB idnetifier
  Staging: go7007: fix build issues
  Staging: sxg: Fix leaks and checksum errors in transmit code path
  Staging: sxg: Fix sleep in atomic context warning while loading driver
  Staging: sxg: Use correct queue_id for transmitting non-TCP packets
  Staging: sxg: Fire watchdog timer at end of open routine to change the link
  Staging: Pohmelfs: Add load balancing between network states with the same priority.
  Staging: Pohmelfs: Added IO permissions and priorities.
  Staging: Pohmelfs: Added ->show_stats() callback.
  Staging: Pohmelfs: Drop ftrans debugging code.
  Staging: Pohmelfs: Use wait_on_page_timeout when waiting for remote directory sync instead of hardcoded 25 seconds.
  Staging: Pohmelfs: Reduce debugging noise about non-existing objects.
  Staging: Pohmelfs: Sync fs before killing it, since dentry cache is shrunk before writeback is invoked via generic_shutdown_super()
  Staging: Pohmelfs: Extend remount option.
  Staging: Pohmelfs: Set NETFS_INODE_REMOTE_SYNCED and clear NETFS_INODE_OWNED bits in the root inode.
  Staging: Pohmelfs: Added 'need_lock' variable into debug print.
  Staging: Pohmelfs: Disable read lock in pohmelfs_getattr().
  Staging: Pohmelfs: Move parent lock to the place where we really have to send a lookup request to the server.
  Staging: pohmelfs: Populate dentry cache when receiving the new readdir entry.
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
Linus Torvalds [Fri, 17 Apr 2009 20:53:16 +0000 (13:53 -0700)] 
Merge git://git./linux/kernel/git/gregkh/driver-core-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
  UIO: fix specific device driver missing statement for depmod
  Driver core: remove pr_fmt() from dynamic_dev_dbg() printk
  driver core: prevent device_for_each_child from oopsing
  dynamic debug: resurrect old pr_debug() semantics as pr_devel()
  Driver Core: early platform driver
  proc: mounts_poll() make consistent to mdstat_poll
  sysfs: sysfs poll keep the poll rule of regular file.
  driver core: allow non-root users to listen to uevents
  driver core: fix driver_match_device
  sysfs: don't use global workqueue in sysfs_schedule_callback()

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Fri, 17 Apr 2009 20:53:00 +0000 (13:53 -0700)] 
Merge git://git./linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (22 commits)
  WUSB: correct format of wusb_chid sysfs file
  WUSB: fix oops when completing URBs for disconnected devices
  WUSB: disconnect all devices when stopping a WUSB HCD
  USB: whci-hcd: check return value of usb_hcd_link_urb_to_ep()
  USB: whci-hcd: provide a endpoint_reset method
  USB: add reset endpoint operations
  USB device codes for Motorola phone.
  usb-storage: fix mistake in Makefile
  USB: usb-serial ch341: support for DTR/RTS/CTS
  Revert USB: usb-serial ch341: support for DTR/RTS/CTS
  USB: musb: fix possible panic while resuming
  USB: musb: fix isochronous TXDMA (take 2)
  USB: musb: sanitize clearing TXCSR DMA bits (take 2)
  USB: musb: bugfixes for multi-packet TXDMA support
  USB: musb_host, fix ep0 fifo flushing
  USB: usb-storage: augment unusual_devs entry for Simple Tech/Datafab
  USB: musb_host, minor enqueue locking fix (v2)
  USB: fix oops in cdc-wdm in case of malformed descriptors
  USB: qcserial: Add extra device IDs
  USB: option: Add ids for D-Link DWM-652 3.5G modem
  ...

15 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 17 Apr 2009 20:51:14 +0000 (13:51 -0700)] 
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm: (48 commits)
  [ARM] S3C24XX: ADC: Check pending queue before freeing adc client
  [ARM] S3C: Fix ADC driver sparse warning
  [ARM] Osiris: Fix double initialisation in machine block
  [ARM] Anubis: Fix sparse warnings for items that should be static
  [ARM] JIVE: Fix sparse warnings about items which should be static
  [ARM] S3C: Fix sparse warning from missing 's3c_device_hwmon'
  [ARM] S3C24XX: Fix sparse error in gpiolib.c
  [ARM] 5455/1: Fix IRQ noise from VIC code
  [ARM] 5454/1: ep93xx_eth: fix sparse warnings
  [ARM] remove .gitignore from include/asm-arm
  Update MAINTAINERS
  mxc defconfig updates
  mx31ads: Mark as having full regulatoion constraints with 1133-EV1 board
  mx31ads: Depend on all the WM8350 core dependencies for WM1133-EV1 board
  Fix ifdef in plat-mxc/irc.c
  MX1ADS: remove I2C ifdefs
  qong: remove AIPS[12] mappings from machine-specific iotable
  mx31ads: imoux pins should be passed in as unsigned int
  MXC: remove orphan imx_init_uart() definition
  mx31: pin definition for csi
  ...

15 years agoMerge branch 'defconfig-s3c2410' of git://aeryn.fluff.org.uk/bjdooks/linux
Russell King [Fri, 17 Apr 2009 20:35:56 +0000 (21:35 +0100)] 
Merge branch 'defconfig-s3c2410' of git://aeryn.fluff.org.uk/bjdooks/linux

15 years agoMerge branch 'v2630-rc2-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux
Russell King [Fri, 17 Apr 2009 20:35:44 +0000 (21:35 +0100)] 
Merge branch 'v2630-rc2-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux

15 years agostaging: slicoss: update README
Stephen Hemminger [Wed, 15 Apr 2009 23:52:16 +0000 (16:52 -0700)] 
staging: slicoss: update README

I looked, I gagged, I left

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agootus/zdusb.c: additional USB idnetifier
Daniele Napolitano [Tue, 14 Apr 2009 23:58:33 +0000 (16:58 -0700)] 
otus/zdusb.c: additional USB idnetifier

Provide support for WN111v2 USB 802.11n adapter.

Signed-off-by: Daniele Napolitano <dnax88@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: go7007: fix build issues
Greg Kroah-Hartman [Mon, 13 Apr 2009 20:16:54 +0000 (13:16 -0700)] 
Staging: go7007: fix build issues

Now that TUNER_SET_TYPE_ADDR is gone from the tree, the older code kicks
in and tries to use TUNER_SET_TYPE, which went away a long time ago.

This patch removes all of this logic, as it should not be needed anymore
now, and by doing so, fixes the build.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: sxg: Fix leaks and checksum errors in transmit code path
Mithlesh Thukral [Wed, 25 Mar 2009 10:21:49 +0000 (15:51 +0530)] 
Staging: sxg: Fix leaks and checksum errors in transmit code path

Fix the transmit function for the following:
* Free XmtCmd in the error code path. This use to leak memory in
  error conditions.
* Do pci mapping after the checksum operations are over. They can
  reallocate the skb at a different location.
* Fix UDP checksum errors which were seen in wireshark

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: sxg: Fix sleep in atomic context warning while loading driver
Mithlesh Thukral [Wed, 25 Mar 2009 10:21:14 +0000 (15:51 +0530)] 
Staging: sxg: Fix sleep in atomic context warning while loading driver

Leave a spinlock before calling request_irq(). request_irq() calls kmalloc
which can sleep. This was generating a warning dump while driver is loaded.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: sxg: Use correct queue_id for transmitting non-TCP packets
Mithlesh Thukral [Wed, 25 Mar 2009 10:20:34 +0000 (15:50 +0530)] 
Staging: sxg: Use correct queue_id for transmitting non-TCP packets

Use correct queue_id while transmitting non-TCP packets.
They should always use queue 0.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
15 years agoStaging: sxg: Fire watchdog timer at end of open routine to change the link
Mithlesh Thukral [Wed, 25 Mar 2009 10:19:58 +0000 (15:49 +0530)] 
Staging: sxg: Fire watchdog timer at end of open routine to change the link

The watchdog timer which updates the link status was not fired at the
end of sxg_entry_open(). Add that.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Add load balancing between network states with the same priority.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:30 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Add load balancing between network states with the same priority.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Added IO permissions and priorities.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:29 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Added IO permissions and priorities.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Added ->show_stats() callback.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:28 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Added ->show_stats() callback.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Drop ftrans debugging code.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:27 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Drop ftrans debugging code.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Use wait_on_page_timeout when waiting for remote directory sync...
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:26 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Use wait_on_page_timeout when waiting for remote directory sync instead of hardcoded 25 seconds.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Reduce debugging noise about non-existing objects.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:25 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Reduce debugging noise about non-existing objects.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Sync fs before killing it, since dentry cache is shrunk before...
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:24 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Sync fs before killing it, since dentry cache is shrunk before writeback is invoked via generic_shutdown_super()

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Extend remount option.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:23 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Extend remount option.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Set NETFS_INODE_REMOTE_SYNCED and clear NETFS_INODE_OWNED bits...
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:22 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Set NETFS_INODE_REMOTE_SYNCED and clear NETFS_INODE_OWNED bits in the root inode.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Added 'need_lock' variable into debug print.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:21 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Added 'need_lock' variable into debug print.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Disable read lock in pohmelfs_getattr().
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:20 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Disable read lock in pohmelfs_getattr().

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: Pohmelfs: Move parent lock to the place where we really have to send a looku...
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:19 +0000 (15:04 +0300)] 
Staging: Pohmelfs: Move parent lock to the place where we really have to send a lookup request to the server.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: pohmelfs: Populate dentry cache when receiving the new readdir entry.
Evgeniy Polyakov [Fri, 27 Mar 2009 12:04:18 +0000 (15:04 +0300)] 
Staging: pohmelfs: Populate dentry cache when receiving the new readdir entry.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoRevert Staging: SLICOSS: use gfp_kernel where possible
Lior Dotan [Wed, 11 Feb 2009 11:35:10 +0000 (13:35 +0200)] 
Revert Staging: SLICOSS: use gfp_kernel where possible

Revert commit 2bb347361e2c19799431f56488a3f64de40a3aa6

This commit has been reported to cause problems:
  Mar 24 11:50:31 linuxdev kernel: BUG: sleeping function called from invalid context at mm/slub.c:1599 Mar 24 11:50:31 linuxdev kernel: in_atomic(): 1, irqs_disabled(): 0, pid: 3251, name: avahi-daemon

Cc: Lior Dotan <liodot@gmail.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: STLC45XX should depend on GENERIC_HARDIRQS
Geert Uytterhoeven [Mon, 6 Apr 2009 13:15:55 +0000 (15:15 +0200)] 
Staging: STLC45XX should depend on GENERIC_HARDIRQS

m68k allmodconfig:
| drivers/staging/stlc45xx/stlc45xx.c: In function 'stlc45xx_probe':
| drivers/staging/stlc45xx/stlc45xx.c:2456: error: implicit declaration of function 'set_irq_type'
| make[6]: *** [drivers/staging/stlc45xx/stlc45xx.o] Error 1

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Defer flush and release operations to avoid deadlocks.
Arve Hjønnevåg [Mon, 6 Apr 2009 22:13:00 +0000 (15:13 -0700)] 
Staging: binder: Defer flush and release operations to avoid deadlocks.

If a transaction that contains a file descriptor fails on a later object,
the new file descriptor needs to be closed. If this is a binder file
descriptor we would deadlock in flush. If there were no other references to
the file at this point release would also be called.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Prevent the wrong thread from adding a transaction to the stack.
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:59 +0000 (15:12 -0700)] 
Staging: binder: Prevent the wrong thread from adding a transaction to the stack.

If a thread is part of a transaction stack, it is only allowed to make
another call if it was the target of the top transaction on the stack.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Cast to uintptr_t instead of size_t when aligning pointers
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:58 +0000 (15:12 -0700)] 
Staging: binder: Cast to uintptr_t instead of size_t when aligning pointers

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Keep a reference to the files_struct while the driver is mmapped
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:57 +0000 (15:12 -0700)] 
Staging: binder: Keep a reference to the files_struct while the driver is mmapped

This prevents breaking fget_light if a single threaded application
allows incoming file descriptors (in replies or on nodes).
Should also prevent inserting a file in the wrong files_struct if the
receving process execs in the middle of a transaction (between
task_get_unused_fd_flags and task_fd_install).

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Add more offset validation.
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:56 +0000 (15:12 -0700)] 
Staging: binder: Add more offset validation.

Check that datasize is not smaller than one flat_binder_object.
Check that offsets are aligned.
Check that offsets_size is aligned.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: mmap fixes.
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:55 +0000 (15:12 -0700)] 
Staging: binder: mmap fixes.

Only allow a binder file pointer to be mmapped once. The buffer management
code cannot deal with more then one area.
Also remove leftover mutex_unlock if mmap fails.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Don't create two proc entries with the same name if the driver is...
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:54 +0000 (15:12 -0700)] 
Staging: binder: Don't create two proc entries with the same name if the driver is opened twice in one process.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: binder: Remove VM_EXEC check.
Arve Hjønnevåg [Mon, 6 Apr 2009 22:12:53 +0000 (15:12 -0700)] 
Staging: binder: Remove VM_EXEC check.

Many platforms do not support mappings without VM_EXEC.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: aten2011: Clean up some tty bits
Alan Cox [Tue, 7 Apr 2009 17:43:43 +0000 (18:43 +0100)] 
Staging: aten2011: Clean up some tty bits

Minor fixes for tty layer stuff in this driver

Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: rt2870: add ID for Sitecom WL-315
Daniele Napolitano [Wed, 1 Apr 2009 21:53:39 +0000 (14:53 -0700)] 
Staging: rt2870: add ID for Sitecom WL-315

Signed-off-by: Daniele Napolitano <dnax88@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: line6: convert to snd_card_create()
Alexander Beregalov [Sun, 29 Mar 2009 15:59:13 +0000 (19:59 +0400)] 
Staging: line6: convert to snd_card_create()

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: wlan-ng: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:31:28 +0000 (19:31 +0400)] 
Staging: wlan-ng: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: sxg: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:30:46 +0000 (19:30 +0400)] 
Staging: sxg: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: slicoss: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:30:08 +0000 (19:30 +0400)] 
Staging: slicoss: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: rt3070: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:29:18 +0000 (19:29 +0400)] 
Staging: rt3070: convert to netdev_ops

Also remove unused variable.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: rt2870: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:28:11 +0000 (19:28 +0400)] 
Staging: rt2870: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: rt2860: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:27:21 +0000 (19:27 +0400)] 
Staging: rt2860: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: otus: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:26:25 +0000 (19:26 +0400)] 
Staging: otus: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: et131x: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:25:33 +0000 (19:25 +0400)] 
Staging: et131x: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: epl: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:24:32 +0000 (19:24 +0400)] 
Staging: epl: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoStaging: at76: convert to netdev_ops
Alexander Beregalov [Sun, 29 Mar 2009 15:23:34 +0000 (19:23 +0400)] 
Staging: at76: convert to netdev_ops

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoWUSB: correct format of wusb_chid sysfs file
David Vrabel [Wed, 8 Apr 2009 17:36:30 +0000 (17:36 +0000)] 
WUSB: correct format of wusb_chid sysfs file

Make the wusb_chid sysfs file match the ABI documentation.

Print all zeros if the WUSB host is stopped (instead of an empty file)
and end the file with a newline.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoWUSB: fix oops when completing URBs for disconnected devices
David Vrabel [Wed, 8 Apr 2009 17:36:32 +0000 (17:36 +0000)] 
WUSB: fix oops when completing URBs for disconnected devices

Fix an oops in wusbhc_giveback_urb() if the wusb device had disconnected
while an urb was in progress. Also release the ref count obtained here.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoWUSB: disconnect all devices when stopping a WUSB HCD
David Vrabel [Wed, 8 Apr 2009 17:36:33 +0000 (17:36 +0000)] 
WUSB: disconnect all devices when stopping a WUSB HCD

Make sure all WUSB devices are disconnected when stopping a WUSB HCD so
that we don't leak the devices' wusb_dev structures.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: whci-hcd: check return value of usb_hcd_link_urb_to_ep()
David Vrabel [Wed, 8 Apr 2009 17:36:31 +0000 (17:36 +0000)] 
USB: whci-hcd: check return value of usb_hcd_link_urb_to_ep()

Check the return value of usb_hcd_link_urb_to_ep() and do not add the
urb to the ASL/PZL if it returns an error.

Omitting the check results in urbs that appear to be submitted
successfully but then cannot be unliked (because
usb_hcd_check_unlink_urb() returns an error).  This can cause khubd (for
example) to block forever in usb_kill_urb().

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: whci-hcd: provide a endpoint_reset method
David Vrabel [Wed, 8 Apr 2009 17:36:29 +0000 (17:36 +0000)] 
USB: whci-hcd: provide a endpoint_reset method

Provide a endpoint_reset method to reset sequence number and current
window.  This QHead information can only be changed while the qset is
not in a schedule.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: add reset endpoint operations
David Vrabel [Wed, 8 Apr 2009 17:36:28 +0000 (17:36 +0000)] 
USB: add reset endpoint operations

Wireless USB endpoint state has a sequence number and a current
window and not just a single toggle bit.  So allow HCDs to provide a
endpoint_reset method and call this or clear the software toggles as
required (after a clear halt, set configuration etc.).

usb_settoggle() and friends are then HCD internal and are moved into
core/hcd.h and all device drivers call usb_reset_endpoint() instead.

If the device endpoint state has been reset (with a clear halt) but
the host endpoint state has not then subsequent data transfers will
not complete. The device will only work again after it is reset or
disconnected.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB device codes for Motorola phone.
Dr. Greg Wettstein [Sat, 11 Apr 2009 14:12:08 +0000 (09:12 -0500)] 
USB device codes for Motorola phone.

The v950 appears to be a ruggedized version of the Motorola Razor
phone.  Tethering to the phone to use it in 'phone as modem' mode
requires the use of the specialized moto-modem driver which layers
over the usb-serial driver.  Support for the v950 was added simply
adding the device ID's for the phone.

Signed-off-by: Dr. Greg Wettstein <greg@enjellic.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agousb-storage: fix mistake in Makefile
Alan Stern [Thu, 9 Apr 2009 18:59:44 +0000 (14:59 -0400)] 
usb-storage: fix mistake in Makefile

This patch (as1228) fixes a Makefile error introduced when the
subdrivers in usb-storage were split out into separate modules.  The
intention is that when CONFIG_USB_LIBUSUAL is set, libusual.o and
usual-tables.o should be combined into a single object file (called
usb-libusual).  The current Makefile will instead create two separate
objects, and the result won't load properly.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-and-tested-by: Alan Jenkins <sourcejedi.lkml@googlemail.com>
Reported-and-tested-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: usb-serial ch341: support for DTR/RTS/CTS
Werner Cornelius [Fri, 16 Jan 2009 20:02:41 +0000 (21:02 +0100)] 
USB: usb-serial ch341: support for DTR/RTS/CTS

commit 664d5df92e88b6ef091048a802b3750f4e989180 upstream.

Fixup of Werner Cornelius patch to the ch341 USB-serial driver, which adds:
- support all baudrates, not just a hard-coded set
- support for controlling DTR, RTS and CTS

Features still missing:
- character length other than 8 bits
- parity settings
- break control

I adapted his patch for the new usb_serial API introduced in 2.6.25-git8 by
Alan Cox on 22 July 2008. Non-compliance to the new API was a reason for
refusing a similar patch from Tollef Fog Heen.

Usage example by Tollef Fog Heen :
        TEMPer USB thermometer <http://err.no/src/TEMPer.c>

based on a patch by:

From: Tollef Fog Heen <tfheen@err.no>

* Implement support for all baud rates rather than just a hard
  coded set.
* Make it possible to control status and control lines
* Grab a bunch of #defines from FreeBSD to reduce the number of
  magic numbers in the file

Signed-off-by: Werner Cornelius <Werner.Cornelius@cornelius-consult.de>
Signed-off-by: Boris Hajduk <boris@hajduk.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Tollef Fog Heen <tfheen@err.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoRevert USB: usb-serial ch341: support for DTR/RTS/CTS
Greg Kroah-Hartman [Tue, 7 Apr 2009 18:56:32 +0000 (11:56 -0700)] 
Revert USB: usb-serial ch341: support for DTR/RTS/CTS

Reverts commit 664d5df92e88b6ef091048a802b3750f4e989180 as the commit
log information was not complete, and we didn't have a proper
signed-off-by by the author of the original BSD code.

Cc: Werner Cornelius <Werner.Cornelius@cornelius-consult.de>
Cc: Boris Hajduk <boris@hajduk.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb: fix possible panic while resuming
Kim Kyuwon [Fri, 27 Mar 2009 01:56:51 +0000 (18:56 -0700)] 
USB: musb: fix possible panic while resuming

During driver resume processing, musb could cause a kernel panic.
Fix by enabling the clock earlier, with the resume_early method.

Signed-off-by: Kim Kyuwon <q1.kim@samsung.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb: fix isochronous TXDMA (take 2)
Sergei Shtylyov [Fri, 27 Mar 2009 01:29:19 +0000 (18:29 -0700)] 
USB: musb: fix isochronous TXDMA (take 2)

Multi-frame isochronous TX URBs transfers in DMA mode never
complete with CPPI DMA because musb_host_tx() doesn't restart
DMA on the second frame, only emitting a debug message.
With Inventra DMA they complete, but in PIO mode.  To fix:

 - Factor out programming of the DMA transfer from
   musb_ep_program() into musb_tx_dma_program();

 - Reorder the code at the end of musb_host_tx() to
   facilitate the fallback to PIO iff DMA fails;

 - Handle the buffer offset consistently for both
   PIO and DMA modes;

 - Add an argument to musb_ep_program() for the same
   reason (it only worked correctly with non-zero
   offset of the first frame in PIO mode);

 - Set the completed isochronous frame descriptor's
   'actual_length' and 'status' fields correctly in
   DMA mode.

Also, since CPPI reportedly doesn't like sending isochronous
packets in the RNDIS mode, change the criterion for this
mode to be used only for multi-packet transfers.  (There's
no need for that mode in the single-packet case anyway.)

[ dbrownell@users.sourceforge.net: split comment paragraph
into bullet list, shrink patch delta, style tweaks ]

Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15 years agoUSB: musb: sanitize clearing TXCSR DMA bits (take 2)
Sergei Shtylyov [Fri, 27 Mar 2009 01:27:47 +0000 (18:27 -0700)] 
USB: musb: sanitize clearing TXCSR DMA bits (take 2)

The MUSB code clears TXCSR_DMAMODE incorrectly in several
places, either asserting that TXCSR_DMAENAB is clear (when
sometimes it isn't) or clearing both bits together.  Recent
versions of the programmer's guide require DMAENAB to be
cleared first, although some older ones didn't.

Fix this and while at it:

 - In musb_gadget::txstate(), stop clearing the AUTOSET
   and DMAMODE bits for the CPPI case since they never
   get set anyway (the former bit is reserved on DaVinci);
   but do clear the DMAENAB bit on the DMA error path.

 - In musb_host::musb_ep_program(), remove the duplicate
   DMA controller specific code code clearing the TXCSR
   previous state, add the code to clear TXCSR DMA bits
   on the Inventra DMA error path, to replace such code
   (executed late) on the PIO path.

 - In musbhsdma::dma_channel_abort()/dma_controller_irq(),
   add/use the 'offset' variable to avoid MUSB_EP_OFFSET()
   invocations on every RXCSR/TXCSR access.

[dbrownell@users.sourceforge.net: don't introduce CamelCase,
shrink diff]

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>