Commit Graph

345718 Commits

Author SHA1 Message Date
Mark Brown
62d62b59bd mfd: arizona: Defer patch initialistation until after first device boot
Make sure that we don't race with the initial device boot by only doing
the initialisation after we've waited for the boot to complete.

The runtime PM code already waits for the boot to complete before it
syncs the register patches so in most systems if a race does occur we will
power down very soon afterwards and recover anyway.

Reported-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-12-03 00:36:44 +01:00
Ben Hutchings
f9af7b9edc HID: Add Apple wireless keyboard 2011 ANSI to special driver list
Commit 0a97e1e9f9 ('HID: apple: Add Apple wireless keyboard 2011 ANSI PID')
did not update the special driver list in hid-core.c, so hid-generic may
still bind to this device.

Reported-by: Ari Pollak <ari@scvngr.com>
References: http://bugs.debian.org/694546
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-12-02 21:08:43 +01:00
Stephan Gatzka
9d23734209 firewire: net: Fix handling of fragmented multicast/broadcast packets.
This patch fixes both the transmit and receive portion of sending
fragmented mutlicast and broadcast packets.

The transmit section was broken because the offset for INTFRAG and
LASTFRAG packets were just miscalculated by IEEE1394_GASP_HDR_SIZE (which
was reserved with skb_push() in fwnet_send_packet).

The receive section was broken because in fwnet_incoming_packet is a call
to fwnet_peer_find_by_node_id(). Called with generation == -1 it will
not find a peer and the partial datagrams are associated to a peer.

[Stefan R:  The fix to use context->card->generation is not perfect.
It relies on the IR tasklet which processes packets from the prior bus
generation to run before the self-ID-complete worklet which sets the
current card generation.  Alas, there is no simple way of a race-free
implementation.  Let's do it this way for now.]

Signed-off-by: Stephan Gatzka <stephan.gatzka@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-12-02 20:10:18 +01:00
Stefan Richter
b0ea5f19d3 firewire: sbp2: allow WRITE SAME and REPORT SUPPORTED OPERATION CODES
The commits
    3c6bdaeab4 "[SCSI] Add a report opcode helper"
    5db44863b6 "[SCSI] sd: Implement support for WRITE SAME"
introduced in-kernel uses of the mentioned commands but cautiously
blacklisted them for any IEEE 1394 (SBP-2/3) targets and some other
transports.

I looked through a range of SBP devices and found that the blacklist
flags can be removed:

The kernel never attempts these commands if the device's INQUIRY
data claim a SCSI revision of less than 0x05.  This is the case with
all SBP devices that I checked, except for three more recent devices
which claimed a revision of 0x05 i.e. conformance with SPC-3 (two
devices based on the OXUF936QSE chip but having different firmwares,
one based on OXUF934DSB.)

I tried "sg_opcodes" from sg3_utils on several older and newer devices
and did not encounter any apparent firmware bugs with it.  All devices
returned Illegal Request/ Invalid command operation code and carried on.
I furthermore tried "sg_write_same -U" on the OXUF934DSB device with the
same result.  Alas I did not have a TRIM enabled SSD available for these
tests.  All of the bridges were correctly identified by the kernel as
"fully provisioned", CD-ROM devices aside.

The kernel won't issue WRITE SAME to fully provisioned devices, nor
would it attempt REPORT SUPPORTED OPERATION CODES or WRITE SAME with
UNMAP bit on devices which do not claim conformance to SPC-3 or later.

Hence let's remove the no_report_opcodes and no_write_same blacklist
flags so that these commands can be used on newer targets with
respective capabilities.  I guess the Linux sbp-target could be such a
target.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-12-02 20:10:18 +01:00
Stefan Richter
6fa79bcaec tools/firewire: nosy-dump: check for allocation failure
Behavior of null pointer dereference is undefined in the C language.
Portably implement the desired behavior.

Reported-by: Yang Yeping <yangyeping_666@hotmail.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2012-12-02 20:10:18 +01:00
Al Viro
9d73fc2d64 open*(2) compat fixes (s390, arm64)
The usual rules for open()/openat()/open_by_handle_at() are
 1) native 32bit - don't force O_LARGEFILE in flags
 2) native 64bit - force O_LARGEFILE in flags
 3) compat on 64bit host - as for native 32bit
 4) native 32bit ABI for 64bit system (mips/n32, x86/x32) - as for
    native 64bit

There are only two exceptions - s390 compat has open() forcing
O_LARGEFILE and arm64 compat has open_by_handle_at() doing the same
thing.  The same binaries on native host (s390/31 and arm resp.) will
*not* force O_LARGEFILE, so IMO both are emulation bugs.

Objections? The fix is obvious...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-02 10:46:38 -08:00
Tao Ma
152a7b0a80 ext4: move extra inode read to a new function
Currently, in ext4_iget we do a simple check to see whether
there does exist some information starting from the end
of i_extra_size. With inline data added, this procedure
is more complicated. So move it to a new function named
ext4_iget_extra_inode.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2012-12-02 11:13:24 -05:00
Jan Kiszka
45e3cc7d9f KVM: x86: Fix uninitialized return code
This is a regression caused by 18595411a7.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
2012-12-02 17:37:04 +02:00
Sachin Kamat
227c4ce6ea spi: omap2-mcspi: remove duplicate inclusion of linux/err.h
linux/err.h was included twice.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:17:55 +09:00
Shubhrajyoti D
6a47d80308 spi: omap2-mcspi: Fix the redifine warning
Fix the below warning
drivers/spi/spi-omap2-mcspi.c:336:34: warning: symbol 'tx' shadows an earlier one
drivers/spi/spi-omap2-mcspi.c:327:12: originally declared here

So delete the u8 tx as it is assigned and not used(resigned afterwards).

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:17:50 +09:00
Axel Lin
dbc705183a regulator: tps51632: Ensure [base|max]_voltage_uV pdata settings are valid
If pdata->base_voltage_uV is missing or the settings of pdata->base_voltage_uV
and pdata->max_voltage_uV are out of range, TPS51632_VOLT_VSEL macro
returns wrong vsel.

Thus add checking [base|max]_voltage_uV pdata settings in probe.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:15:14 +09:00
Axel Lin
43f1f2165e regulator: wm831x-dcdc: Add MODULE_ALIAS for wm831x-boostp
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:14:23 +09:00
Axel Lin
1a679930e1 regulator: wm831x-dcdc: Ensure selected voltage falls within requested range
Use DIV_ROUND_UP to ensure selected voltage won't less than min_uV due to
integer truncation.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:12:08 +09:00
Mark Brown
dd49e2c8b9 ASoC: adsp: Set DSP clock rate to SYSCLK rate
For simplicity always run the DSP at the SYSCLK rate.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:09:23 +09:00
Mark Brown
10a2b662c4 ASoC: adsp: Keep ADSP2 memory powered off when not in use
Turn off the ADSP memory when we aren't using it, saving a small amount of
power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-03 00:09:20 +09:00
Cyrill Gorcunov
5479c78ac6 mm, percpu: Make sure percpu_alloc early parameter has an argument
Otherwise we are getting a nil dereference if percpu_alloc kernel boot
argument is specified without value.

 | [    0.000000] BUG: unable to handle kernel NULL pointer dereference at           (null)
 | [    0.000000] IP: [<ffffffff81391360>] strcmp+0x10/0x30

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
2012-12-02 06:23:04 -08:00
Mark Brown
854ea639bb Merge remote-tracking branch 'asoc/topic/wm9090' into asoc-next 2012-12-02 13:35:31 +09:00
Mark Brown
d88c7dd20c Merge remote-tracking branch 'asoc/topic/wm9081' into asoc-next 2012-12-02 13:35:31 +09:00
Mark Brown
d7ba2556a0 Merge remote-tracking branch 'asoc/topic/wm8995' into asoc-next 2012-12-02 13:35:30 +09:00
Mark Brown
faa9c2a798 Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-next 2012-12-02 13:35:29 +09:00
Mark Brown
e041e46907 Merge remote-tracking branch 'asoc/topic/wm8993' into asoc-next 2012-12-02 13:35:28 +09:00
Mark Brown
84b043d549 Merge remote-tracking branch 'asoc/topic/wm8988' into asoc-next 2012-12-02 13:35:28 +09:00
Mark Brown
76cadae7e0 Merge remote-tracking branch 'asoc/topic/wm8985' into asoc-next 2012-12-02 13:35:27 +09:00
Mark Brown
e110850468 Merge remote-tracking branch 'asoc/topic/wm8978' into asoc-next 2012-12-02 13:35:27 +09:00
Mark Brown
efffa4e21b Merge remote-tracking branch 'asoc/topic/wm8971' into asoc-next 2012-12-02 13:35:26 +09:00
Mark Brown
28ff2f8296 Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next 2012-12-02 13:35:25 +09:00
Mark Brown
a275ddf7b5 Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-next 2012-12-02 13:35:25 +09:00
Mark Brown
f5a1345be7 Merge remote-tracking branch 'asoc/topic/wm8955' into asoc-next 2012-12-02 13:35:24 +09:00
Mark Brown
7f90af5231 Merge remote-tracking branch 'asoc/topic/wm8804' into asoc-next 2012-12-02 13:35:23 +09:00
Mark Brown
66195b1528 Merge remote-tracking branch 'asoc/topic/wm8770' into asoc-next 2012-12-02 13:35:23 +09:00
Mark Brown
1a9d299db8 Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-next 2012-12-02 13:35:22 +09:00
Mark Brown
fdb7f6d20f Merge remote-tracking branch 'asoc/topic/wm8750' into asoc-next 2012-12-02 13:35:22 +09:00
Mark Brown
0187ec842f Merge remote-tracking branch 'asoc/topic/wm8741' into asoc-next 2012-12-02 13:35:21 +09:00
Mark Brown
2dfbba6694 Merge remote-tracking branch 'asoc/topic/wm8510' into asoc-next 2012-12-02 13:35:20 +09:00
Mark Brown
f5fa83cc62 Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next 2012-12-02 13:35:20 +09:00
Mark Brown
39a329b14e Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-next 2012-12-02 13:35:19 +09:00
Mark Brown
54fc5a1ad8 Merge remote-tracking branch 'asoc/topic/wm2200' into asoc-next 2012-12-02 13:35:18 +09:00
Mark Brown
9f07f658c4 Merge remote-tracking branch 'asoc/topic/wm2000' into asoc-next 2012-12-02 13:35:17 +09:00
Mark Brown
33a8415fbf Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next 2012-12-02 13:35:16 +09:00
Mark Brown
fa3800dd33 Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next 2012-12-02 13:35:15 +09:00
Mark Brown
9f82b0440e Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next 2012-12-02 13:35:14 +09:00
Mark Brown
cc43b45684 Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next 2012-12-02 13:35:13 +09:00
Mark Brown
05cf9dd84b Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2012-12-02 13:35:12 +09:00
Mark Brown
897074d89b Merge remote-tracking branch 'asoc/topic/rt5631' into asoc-next 2012-12-02 13:35:12 +09:00
Mark Brown
6a441c5c60 Merge remote-tracking branch 'asoc/topic/omap' into asoc-next 2012-12-02 13:35:11 +09:00
Mark Brown
d0f3ea4252 Merge remote-tracking branch 'asoc/topic/max98090' into asoc-next 2012-12-02 13:35:10 +09:00
Mark Brown
6058868543 Merge remote-tracking branch 'asoc/topic/max9768' into asoc-next 2012-12-02 13:35:10 +09:00
Mark Brown
674b366350 Merge remote-tracking branch 'asoc/topic/log' into asoc-next 2012-12-02 13:35:09 +09:00
Mark Brown
ca7e5cb223 Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-next 2012-12-02 13:35:09 +09:00
Mark Brown
686378497f Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next 2012-12-02 13:35:08 +09:00