Commit Graph

8580 Commits

Author SHA1 Message Date
黄涛
f34f67b545 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Merge v3.0.60
Conflicts:
	Makefile
2013-01-23 09:49:26 +08:00
Ben Hutchings
42e29fded9 staging: vt6656: Fix inconsistent structure packing
commit 1ee4c55fc9 upstream.

vt6656 has several headers that use the #pragma pack(1) directive to
enable structure packing, but never disable it.  The layout of
structures defined in other headers can then depend on which order the
various headers are included in, breaking the One Definition Rule.

In practice this resulted in crashes on x86_64 until the order of header
inclusion was changed for some files in commit 11d404cb56 ('staging:
vt6656: fix headers and add cfg80211.').  But we need a proper fix that
won't be affected by future changes to the order of inclusion.

This removes the #pragma pack(1) directives and adds __packed to the
structure definitions for which packing appears to have been intended.

Reported-and-tested-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-21 11:45:00 -08:00
黄涛
67450b3bb6 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Merge v3.0.59
Conflicts:
	Makefile
	drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
	drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
	drivers/usb/serial/option.c
2013-01-21 17:21:19 +08:00
Ian Abbott
7633459bb3 staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC
commit 34ffb33e09 upstream.

The 'ni_at_a2150' module links to `cfc_write_to_buffer` in the
'comedi_fc' module, so selecting 'COMEDI_NI_AT_A2150' in the kernel config
needs to also select 'COMEDI_FC'.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:15 -08:00
Ian Abbott
57a750294d staging: comedi: don't hijack hardware device private data
commit c43435d772 upstream.

comedi_auto_config() associates a Comedi minor device number with an
auto-configured hardware device and comedi_auto_unconfig() disassociates
it.  Currently, these use the hardware device's private data pointer to
point to some allocated storage holding the minor device number.  This
is a bit of a waste of the hardware device's private data pointer,
preventing it from being used for something more useful by the low-level
comedi device drivers.  For example, it would make more sense if
comedi_usb_auto_config() was passed a pointer to the struct
usb_interface instead of the struct usb_device, but this cannot be done
currently because the low-level comedi drivers already use the private
data pointer in the struct usb_interface for something more useful.

This patch stops the comedi core hijacking the hardware device's private
data pointer.  Instead, comedi_auto_config() stores a pointer to the
hardware device's struct device in the struct comedi_device_file_info
associated with the minor device number, and comedi_auto_unconfig()
calls new function comedi_find_board_minor() to recover the minor device
number associated with the hardware device.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:13 -08:00
Samuel Thibault
71a1306551 staging: speakup: avoid out-of-range access in synth_add()
commit 6102c48bd4 upstream.

Check that array index is in-bounds before accessing the synths[] array.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: Nickolai Zeldovich <nickolai@csail.mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:09 -08:00
Nickolai Zeldovich
36aa870761 staging: speakup: avoid out-of-range access in synth_init()
commit ae428655b8 upstream.

Check that array index is in-bounds before accessing the synths[] array.

Signed-off-by: Nickolai Zeldovich <nickolai@csail.mit.edu>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:09 -08:00
Larry Finger
30571057bb staging: r8712u: Add new device ID
commit da849a92d3 upstream.

The ISY IWL 1000 USB WLAN stick with USB ID 050d:11f1 is a clone of
the Belkin F7D1101 V1 device.

Reported-by: Thomas Hartmann <hartmann@ict.tuwien.ac.at>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Thomas Hartmann <hartmann@ict.tuwien.ac.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:08 -08:00
Ian Abbott
2d8a66efb8 staging: comedi: comedi_test: fix race when cancelling command
commit c0729eeefd upstream.

Éric Piel reported a kernel oops in the "comedi_test" module.  It was a
NULL pointer dereference within `waveform_ai_interrupt()` (actually a
timer function) that sometimes occurred when a running asynchronous
command is cancelled (either by the `COMEDI_CANCEL` ioctl or by closing
the device file).

This seems to be a race between the caller of `waveform_ai_cancel()`
which on return from that function goes and tears down the running
command, and the timer function which uses the command.  In particular,
`async->cmd.chanlist` gets freed (and the pointer set to NULL) by
`do_become_nonbusy()` in "comedi_fops.c" but a previously scheduled
`waveform_ai_interrupt()` timer function will dereference that pointer
regardless, leading to the oops.

Fix it by replacing the `del_timer()` call in `waveform_ai_cancel()`
with `del_timer_sync()`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reported-by: Éric Piel <piel@delmic.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:08 -08:00
Ian Abbott
bf302ba15f staging: comedi: prevent auto-unconfig of manually configured devices
commit 7d3135af39 upstream.

When a low-level comedi driver auto-configures a device, a `struct
comedi_dev_file_info` is allocated (as well as a `struct
comedi_device`) by `comedi_alloc_board_minor()`.  A pointer to the
hardware `struct device` is stored as a cookie in the `struct
comedi_dev_file_info`.  When the low-level comedi driver
auto-unconfigures the device, `comedi_auto_unconfig()` uses the cookie
to find the `struct comedi_dev_file_info` so it can detach the comedi
device from the driver, clean it up and free it.

A problem arises if the user manually unconfigures and reconfigures the
comedi device using the `COMEDI_DEVCONFIG` ioctl so that is no longer
associated with the original hardware device.  The problem is that the
cookie is not cleared, so that a call to `comedi_auto_unconfig()` from
the low-level driver will still find it, detach it, clean it up and free
it.

Stop this problem occurring by always clearing the `hardware_device`
cookie in the `struct comedi_dev_file_info` whenever the
`COMEDI_DEVCONFIG` ioctl call is successful.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:44:08 -08:00
Malcolm Priestley
f125f80357 staging: vt6656: 64bit fixes: vCommandTimerWait change calculation of timer.
commit 70e227790d upstream.

The timer appears to run too fast/race on 64 bit systems.

Using msecs_to_jiffies seems to cause a deadlock on 64 bit.

A calculation of (MSecond * HZ) / 1000 appears to run satisfactory.

Change BSSIDInfoCount to u32.

After this patch the driver can be successfully connect on little endian 64/32 bit systems.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:56 -08:00
Malcolm Priestley
afaac0d6cd staging: vt6656: 64bit fixes: key.c/h change unsigned long to u32
commit c0d05b305b upstream.

Fixes long issues.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:56 -08:00
Malcolm Priestley
355bda5523 staging: vt6656: 64 bit fixes: fix long warning messages.
commit b4dc03af55 upstream.

Fixes long warning messages from patch
[PATCH 08/14] staging: vt6656: 64 bit fixes : correct all type sizes

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:56 -08:00
Malcolm Priestley
f25b87741e staging: vt6656: 64 bit fixes : correct all type sizes
commit 7730492855 upstream.

After this patch all BYTE/WORD/DWORD types can be replaced with the appropriate u sizes.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:56 -08:00
Malcolm Priestley
4f668e4c26 staging: vt6656: 64 bit fixes: use u32 for QWORD definition.
commit a552397d5e upstream.

Size of long issues replace with u32.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:56 -08:00
Malcolm Priestley
a32f2fed94 staging: vt6656: [BUG] out of bound array reference in RFbSetPower.
commit ab1dd99631 upstream.

Calling RFbSetPower with uCH zero value will cause out of bound array reference.

This causes 64 bit kernels to oops on boot.

Note: Driver does not function on 64 bit kernels and should be
blacklisted on them.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:56 -08:00
黄涛
4e93666a92 Merge remote-tracking branch 'aosp/android-3.0' into develop-3.0
Conflicts:
	drivers/cpufreq/cpufreq_interactive.c
	drivers/net/wireless/bcmdhd/dhd_linux.c
	drivers/net/wireless/bcmdhd/wl_cfg80211.c
	scripts/Kbuild.include
2013-01-17 15:14:24 +08:00
Rabin Vincent
1bbba88f77 staging: logger: hold mutex while removing reader
The readers list is traversed under the log->mutex lock
(for example from fix_up_readers()), but the deletion of
elements from this list is not being done under this lock.

Cc: Brian Swetland <swetland@google.com>
Cc: Dima Zavin <dima@android.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-16 13:36:46 -08:00
chenli
0cba5e5163 IPP V1.003: fix deadlock bug when bliting 2012-11-26 08:42:46 +08:00
chenli
444d8c0e91 IPP V1.002:fix power off bug in rk29_ipp_release 2012-11-12 17:37:39 +08:00
Todd Poynor
925d49abc3 Merge remote-tracking branch 'stable/linux-3.0.y' into android-3.0
Change-Id: I9685feb9277b450da10d78a455b3c0674d6cfe18
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2012-11-01 13:36:34 -07:00
黄涛
903d694ab5 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Conflicts:
	Makefile
2012-11-01 17:13:08 +08:00
Ian Abbott
5a30fddcc9 staging: comedi: amplc_pc236: fix invalid register access during detach
commit aaeb61a97b upstream.

`pc236_detach()` is called by the comedi core if it attempted to attach
a device and failed.  `pc236_detach()` calls `pc236_intr_disable()` if
the comedi device private data pointer (`devpriv`) is non-null.  This
test is insufficient as `pc236_intr_disable()` accesses hardware
registers and the attach routine may have failed before it has saved
their I/O base addresses.

Fix it by checking `dev->iobase` is non-zero before calling
`pc236_intr_disable()` as that means the I/O base addresses have been
saved and the hardware registers can be accessed.  It also implies the
comedi device private data pointer is valid, so there is no need to
check it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-31 09:51:42 -07:00
黄涛
21158e22d9 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Conflicts:
	Makefile
	drivers/mmc/core/sd.c
	drivers/net/usb/asix.c
	drivers/net/wireless/ath/ath9k/recv.c
	drivers/net/wireless/b43legacy/main.c
	drivers/net/wireless/p54/p54usb.c
	drivers/net/wireless/rt2x00/rt2400pci.c
	drivers/net/wireless/rt2x00/rt2400pci.h
	drivers/net/wireless/rt2x00/rt2500pci.c
	drivers/net/wireless/rt2x00/rt2500usb.c
	drivers/net/wireless/rt2x00/rt2500usb.h
	drivers/net/wireless/rt2x00/rt2800pci.c
	drivers/net/wireless/rt2x00/rt2800usb.c
	drivers/net/wireless/rt2x00/rt61pci.c
	drivers/net/wireless/rt2x00/rt61pci.h
	drivers/net/wireless/rt2x00/rt73usb.c
	drivers/net/wireless/rt2x00/rt73usb.h
	drivers/net/wireless/rtl818x/rtl8187/dev.c
	drivers/usb/serial/option.c
	kernel/time/timekeeping.c
2012-10-08 10:28:29 +08:00
Ian Abbott
8455d77c2b staging: comedi: fix memory leak for saved channel list
commit c8cad4c89e upstream.

When `do_cmd_ioctl()` allocates memory for the kernel copy of a channel
list, it frees any previously allocated channel list in
`async->cmd.chanlist` and replaces it with the new one.  However, if the
device is ever removed (or "detached") the cleanup code in
`cleanup_device()` in "drivers.c" does not free this memory so it is
lost.

A sensible place to free the kernel copy of the channel list is in
`do_become_nonbusy()` as at that point the comedi asynchronous command
associated with the channel list is no longer valid.  Free the channel
list in `do_become_nonbusy()` instead of `do_cmd_ioctl()` and clear the
pointer to prevent it being freed more than once.

Note that `cleanup_device()` could be called at an inappropriate time
while the comedi device is open, but that's a separate bug not related
to this this patch.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-07 08:27:24 -07:00
Ian Abbott
03acba6021 staging: comedi: don't dereference user memory for INSN_INTTRIG
commit 5d06e3df28 upstream.

`parse_insn()` is dereferencing the user-space pointer `insn->data`
directly when handling the `INSN_INTTRIG` comedi instruction.  It
shouldn't be using `insn->data` at all; it should be using the separate
`data` pointer passed to the function.  Fix it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-07 08:27:24 -07:00
Ian Abbott
e451b6d10c staging: comedi: jr3_pci: fix iomem dereference
commit e1878957b4 upstream.

Correct a direct dereference of I/O memory to use an appropriate I/O
memory access function.  Note that the pointer being dereferenced is not
currently tagged with `__iomem` but I plan to correct that for 3.7.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-07 08:27:24 -07:00
Ian Abbott
99f7fee77c staging: comedi: s626: don't dereference insn->data
commit b655c2c478 upstream.

`s626_enc_insn_config()` is incorrectly dereferencing `insn->data` which
is a pointer to user memory.  It should be dereferencing the separate
`data` parameter that points to a copy of the data in kernel memory.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-07 08:27:24 -07:00
Ben Hutchings
bf26fa2be2 staging: speakup_soft: Fix reading of init string
commit 40fe4f8967 upstream.

softsynth_read() reads a character at a time from the init string;
when it finds the null terminator it sets the initialized flag but
then repeats the last character.

Additionally, if the read() buffer is not big enough for the init
string, the next read() will start reading from the beginning again.
So the caller may never progress to reading anything else.

Replace the simple initialized flag with the current position in
the init string, carried over between calls.  Switch to reading
real data once this reaches the null terminator.

(This assumes that the length of the init string can't change, which
seems to be the case.  Really, the string and position belong together
in a per-file private struct.)

Tested-by: Samuel Thibault <sthibault@debian.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-07 08:27:24 -07:00
Jarod Wilson
ae04311e04 media: lirc_sir: make device registration work
commit 4b71ca6bce upstream.

For one, the driver device pointer needs to be filled in, or the lirc core
will refuse to load the driver. And we really need to wire up all the
platform_device bits. This has been tested via the lirc sourceforge tree
and verified to work, been sitting there for months, finally getting
around to sending it. :\

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
CC: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:42 -07:00
Ian Abbott
b004f11dd7 staging: comedi: das08: Correct AO output for das08jr-16-ao
commit 61ed59ed09 upstream.

Don't zero out bits 15..12 of the data value in `das08jr_ao_winsn()` as
that knobbles the upper three-quarters of the output range for the
'das08jr-16-ao' board.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:24 -07:00
Eric Dumazet
7bdec51f75 staging: r8712u: fix bug in r8712_recv_indicatepkt()
commit abf02cfc17 upstream.

64bit arches have a buggy r8712u driver, let's fix it.

skb->tail must be set properly or network stack behavior is undefined.

Addresses https://bugzilla.redhat.com/show_bug.cgi?id=847525
Addresses https://bugzilla.kernel.org/show_bug.cgi?id=45071

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Dave Jones <davej@redhat.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:24 -07:00
Malcolm Priestley
ef7d68b798 staging: vt6656: [BUG] - Failed connection, incorrect endian.
commit aa209eef3c upstream.

Hi,

This patch fixes a bug with driver failing to negotiate a connection.

The bug was traced to commit
203e4615ee
staging: vt6656: removed custom definitions of Ethernet packet types

In that patch, definitions in include/linux/if_ether.h replaced ones
in tether.h which had both big and little endian definitions.

include/linux/if_ether.h only refers to big endian values, cpu_to_be16
should be used for the correct endian architectures.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:24 -07:00
Christopher Brannon
274fca52f1 Staging: speakup: fix an improperly-declared variable.
commit 4ea418b8b2 upstream.

A local static variable was declared as a pointer to a string
constant.  We're assigning to the underlying memory, so it
needs to be an array instead.

Signed-off-by: Christopher Brannon <chris@the-brannons.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-02 09:47:24 -07:00
Greg Kroah-Hartman
eb2f4fb4b6 USB: winbond: remove __devinit* from the struct usb_device_id table
commit 43a34695d9 upstream.

This structure needs to always stick around, even if CONFIG_HOTPLUG
is disabled, otherwise we can oops when trying to probe a device that
was added after the structure is thrown away.

Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Bjørn Mork <bjorn@mork.no>
CC: Pavel Machek <pavel@ucw.cz>
CC: Paul Gortmaker <paul.gortmaker@windriver.com>
CC: "John W. Linville" <linville@tuxdriver.com>
CC: Eliad Peller <eliad@wizery.com>
CC: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14 10:00:37 -07:00
Greg Kroah-Hartman
49f75e9b94 USB: vt6656: remove __devinit* from the struct usb_device_id table
commit 4d088876f2 upstream.

This structure needs to always stick around, even if CONFIG_HOTPLUG
is disabled, otherwise we can oops when trying to probe a device that
was added after the structure is thrown away.

Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Bjørn Mork <bjorn@mork.no>
CC: Forest Bond <forest@alittletooquiet.net>
CC: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
CC: "David S. Miller" <davem@davemloft.net>
CC: Jesper Juhl <jj@chaosbits.net>
CC: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14 10:00:36 -07:00
黄涛
a2ad9f9801 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0-jb
Conflicts:
	drivers/net/usb/asix.c
	drivers/net/wireless/iwlwifi/iwl-agn-rs.c
	drivers/usb/serial/option.c
2012-07-12 18:46:41 +08:00
黄涛
30be6d7972 Merge remote-tracking branch 'common/android-3.0' into develop-3.0-jb
Conflicts:
	drivers/cpufreq/cpufreq_interactive.c
	drivers/misc/pmem.c
	drivers/net/usb/asix.c
	drivers/net/wireless/ath/ath9k/ani.c
	drivers/net/wireless/ath/ath9k/ar5008_phy.c
	drivers/net/wireless/ath/ath9k/ar9002_hw.c
	drivers/net/wireless/ath/ath9k/ar9003_calib.c
	drivers/net/wireless/ath/ath9k/ar9003_mac.c
	drivers/net/wireless/ath/ath9k/ar9003_phy.h
	drivers/net/wireless/ath/ath9k/calib.c
	drivers/net/wireless/ath/ath9k/hif_usb.c
	drivers/net/wireless/ath/ath9k/hw.c
	drivers/net/wireless/ath/ath9k/hw.h
	drivers/net/wireless/ath/ath9k/main.c
	drivers/net/wireless/ath/ath9k/rc.c
	drivers/net/wireless/ath/ath9k/recv.c
	drivers/net/wireless/b43/main.c
	drivers/net/wireless/bcm4319/aiutils.c
	drivers/net/wireless/bcm4319/bcmsdh.c
	drivers/net/wireless/bcm4319/bcmsdh_linux.c
	drivers/net/wireless/bcm4319/bcmsdh_sdmmc.c
	drivers/net/wireless/bcm4319/bcmsdh_sdmmc_linux.c
	drivers/net/wireless/bcm4319/bcmutils.c
	drivers/net/wireless/bcm4319/dhd_common.c
	drivers/net/wireless/bcm4319/dhd_proto.h
	drivers/net/wireless/bcm4319/dhd_sdio.c
	drivers/net/wireless/bcm4319/hndpmu.c
	drivers/net/wireless/bcm4319/include/aidmp.h
	drivers/net/wireless/bcm4319/include/bcmcdc.h
	drivers/net/wireless/bcm4319/include/bcmdefs.h
	drivers/net/wireless/bcm4319/include/bcmdevs.h
	drivers/net/wireless/bcm4319/include/bcmendian.h
	drivers/net/wireless/bcm4319/include/bcmpcispi.h
	drivers/net/wireless/bcm4319/include/bcmperf.h
	drivers/net/wireless/bcm4319/include/bcmsdbus.h
	drivers/net/wireless/bcm4319/include/bcmsdh.h
	drivers/net/wireless/bcm4319/include/bcmsdh_sdmmc.h
	drivers/net/wireless/bcm4319/include/bcmsdpcm.h
	drivers/net/wireless/bcm4319/include/bcmsdspi.h
	drivers/net/wireless/bcm4319/include/bcmsdstd.h
	drivers/net/wireless/bcm4319/include/bcmspi.h
	drivers/net/wireless/bcm4319/include/bcmutils.h
	drivers/net/wireless/bcm4319/include/bcmwifi.h
	drivers/net/wireless/bcm4319/include/dhdioctl.h
	drivers/net/wireless/bcm4319/include/epivers.h
	drivers/net/wireless/bcm4319/include/hndpmu.h
	drivers/net/wireless/bcm4319/include/hndrte_armtrap.h
	drivers/net/wireless/bcm4319/include/hndrte_cons.h
	drivers/net/wireless/bcm4319/include/hndsoc.h
	drivers/net/wireless/bcm4319/include/linux_osl.h
	drivers/net/wireless/bcm4319/include/linuxver.h
	drivers/net/wireless/bcm4319/include/miniopt.h
	drivers/net/wireless/bcm4319/include/msgtrace.h
	drivers/net/wireless/bcm4319/include/osl.h
	drivers/net/wireless/bcm4319/include/packed_section_end.h
	drivers/net/wireless/bcm4319/include/packed_section_start.h
	drivers/net/wireless/bcm4319/include/pcicfg.h
	drivers/net/wireless/bcm4319/include/proto/802.11e.h
	drivers/net/wireless/bcm4319/include/proto/802.1d.h
	drivers/net/wireless/bcm4319/include/proto/bcmeth.h
	drivers/net/wireless/bcm4319/include/proto/bcmevent.h
	drivers/net/wireless/bcm4319/include/proto/bcmip.h
	drivers/net/wireless/bcm4319/include/proto/eapol.h
	drivers/net/wireless/bcm4319/include/proto/ethernet.h
	drivers/net/wireless/bcm4319/include/proto/sdspi.h
	drivers/net/wireless/bcm4319/include/proto/vlan.h
	drivers/net/wireless/bcm4319/include/proto/wpa.h
	drivers/net/wireless/bcm4319/include/sbchipc.h
	drivers/net/wireless/bcm4319/include/sbconfig.h
	drivers/net/wireless/bcm4319/include/sbhnddma.h
	drivers/net/wireless/bcm4319/include/sbpcmcia.h
	drivers/net/wireless/bcm4319/include/sbsdio.h
	drivers/net/wireless/bcm4319/include/sbsdpcmdev.h
	drivers/net/wireless/bcm4319/include/sbsocram.h
	drivers/net/wireless/bcm4319/include/sdio.h
	drivers/net/wireless/bcm4319/include/sdioh.h
	drivers/net/wireless/bcm4319/include/sdiovar.h
	drivers/net/wireless/bcm4319/include/siutils.h
	drivers/net/wireless/bcm4319/include/trxhdr.h
	drivers/net/wireless/bcm4319/include/typedefs.h
	drivers/net/wireless/bcm4319/siutils.c
	drivers/net/wireless/bcm4319/wl_iw.c
	drivers/net/wireless/bcm4319/wl_iw.h
	drivers/net/wireless/bcmdhd/Kconfig
	drivers/net/wireless/bcmdhd/Makefile
	drivers/net/wireless/bcmdhd/bcmevent.c
	drivers/net/wireless/bcmdhd/dhd.h
	drivers/net/wireless/bcmdhd/dhd_cdc.c
	drivers/net/wireless/bcmdhd/dhd_linux.c
	drivers/net/wireless/bcmdhd/dhd_wlfc.h
	drivers/net/wireless/bcmdhd/include/Makefile
	drivers/net/wireless/bcmdhd/include/htsf.h
	drivers/net/wireless/bcmdhd/include/proto/802.11.h
	drivers/net/wireless/bcmdhd/include/proto/802.11_bta.h
	drivers/net/wireless/bcmdhd/include/proto/bt_amp_hci.h
	drivers/net/wireless/bcmdhd/include/proto/p2p.h
	drivers/net/wireless/bcmdhd/include/wlfc_proto.h
	drivers/net/wireless/bcmdhd/include/wlioctl.h
	drivers/net/wireless/bcmdhd/linux_osl.c
	drivers/net/wireless/bcmdhd/wl_android.c
	drivers/net/wireless/bcmdhd/wl_android.h
	drivers/net/wireless/bcmdhd/wl_cfg80211.c
	drivers/net/wireless/bcmdhd/wl_cfg80211.h
	drivers/net/wireless/bcmdhd/wl_cfgp2p.c
	drivers/net/wireless/bcmdhd/wl_cfgp2p.h
	drivers/net/wireless/bcmdhd/wl_linux_mon.c
	drivers/net/wireless/bcmdhd/wldev_common.c
	drivers/net/wireless/bcmdhd/wldev_common.h
	drivers/net/wireless/ipw2x00/ipw2200.c
	drivers/net/wireless/iwlwifi/iwl-agn-lib.c
	drivers/net/wireless/iwlwifi/iwl-agn-tx.c
	drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
	drivers/net/wireless/iwlwifi/iwl-agn.c
	drivers/net/wireless/iwlwifi/iwl-agn.h
	drivers/net/wireless/iwlwifi/iwl-core.c
	drivers/net/wireless/iwlwifi/iwl-hcmd.c
	drivers/net/wireless/iwlwifi/iwl-rx.c
	drivers/net/wireless/iwlwifi/iwl-tx.c
	drivers/net/wireless/libertas/if_spi.c
	drivers/net/wireless/p54/p54spi.c
	drivers/net/wireless/rt2x00/rt2800lib.c
	drivers/net/wireless/rt2x00/rt2800pci.c
	drivers/net/wireless/rt2x00/rt2800usb.c
	drivers/net/wireless/rt2x00/rt2x00.h
	drivers/net/wireless/rt2x00/rt2x00dev.c
	drivers/net/wireless/rt2x00/rt2x00mac.c
	drivers/net/wireless/rt2x00/rt2x00queue.c
	drivers/usb/serial/option.c
2012-07-12 18:08:01 +08:00
Julia Lawall
512a8016c2 drivers/staging/comedi/comedi_fops.c: add missing vfree
commit abae41e643 upstream.

aux_free is freed on all other exits from the function.  By removing the
return, we can benefit from the vfree already at the end of the function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-01 15:12:54 +08:00
Todd Poynor
52f91d889a Merge commit 'v3.0.31' into android-3.0 2012-05-08 11:36:40 -07:00
Arend van Spriel
326f0492f8 brcm80211: smac: resume transmit fifo upon receiving frames
commit badc4f0762 upstream.

There have been reports about not being able to use access-points
on channel 12 and 13 or having connectivity issues when these channels
were part of the selected regulatory domain. Upon switching to these
channels the brcmsmac driver suspends the transmit dma fifos. This
patch resumes them upon handing over the first received beacon to
mac80211.

This patch is to be applied to the stable tree for kernel versions
3.2 and 3.3.

Tested-by: Francesco Saverio Schiavarelli <fschiava@libero.it>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-05-07 08:56:34 -07:00
Todd Poynor
5c15664a86 Merge commit 'v3.0.30' into android-3.0 2012-04-30 15:36:56 -07:00
Marek Belisko
b35a446b31 staging: iio: hmc5843: Fix crash in probe function.
commit 62d2feb980 upstream.

Fix crash after issuing:
	echo hmc5843 0x1e > /sys/class/i2c-dev/i2c-2/device/new_device

	[   37.180999] device: '2-001e': device_add
	[   37.188293] bus: 'i2c': add device 2-001e
	[   37.194549] PM: Adding info for i2c:2-001e
	[   37.200958] bus: 'i2c': driver_probe_device: matched device 2-001e with driver hmc5843
	[   37.210815] bus: 'i2c': really_probe: probing driver hmc5843 with device 2-001e
	[   37.224884] HMC5843 initialized
	[   37.228759] ------------[ cut here ]------------
	[   37.233612] kernel BUG at mm/slab.c:505!
	[   37.237701] Internal error: Oops - BUG: 0 [#1] PREEMPT
	[   37.243103] Modules linked in:
	[   37.246337] CPU: 0    Not tainted  (3.3.1-gta04+ #28)
	[   37.251647] PC is at kfree+0x84/0x144
	[   37.255493] LR is at kfree+0x20/0x144
	[   37.259338] pc : [<c00b408c>]    lr : [<c00b4028>]    psr: 40000093
	[   37.259368] sp : de249cd8  ip : 0000000c  fp : 00000090
	[   37.271362] r10: 0000000a  r9 : de229eac  r8 : c0236274
	[   37.276855] r7 : c09d6490  r6 : a0000013  r5 : de229c00  r4 : de229c10
	[   37.283691] r3 : c0f00218  r2 : 00000400  r1 : c0eea000  r0 : c00b4028
	[   37.290527] Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
	[   37.298095] Control: 10c5387d  Table: 9e1d0019  DAC: 00000015
	[   37.304107] Process sh (pid: 91, stack limit = 0xde2482f0)
	[   37.309844] Stack: (0xde249cd8 to 0xde24a000)
	[   37.314422] 9cc0:                                                       de229c10 de229c00
	[   37.322998] 9ce0: de229c10 ffffffea 00000005 c0236274 de140a80 c00b4798 dec00080 de140a80
	[   37.331573] 9d00: c032f37c dec00080 000080d0 00000001 de229c00 de229c10 c048d578 00000005
	[   37.340148] 9d20: de229eac 0000000a 00000090 c032fa40 00000001 00000000 00000001 de229c10
	[   37.348724] 9d40: de229eac 00000029 c075b558 00000001 00000003 00000004 de229c10 c048d594
	[   37.357299] 9d60: 00000000 60000013 00000018 205b0007 37332020 3432322e 5d343838 c0060020
	[   37.365905] 9d80: de251600 00000001 00000000 de251600 00000001 c0065a84 de229c00 de229c48
	[   37.374481] 9da0: 00000006 0048d62c de229c38 de229c00 de229c00 de1f6c00 de1f6c20 00000001
	[   37.383056] 9dc0: 00000000 c048d62c 00000000 de229c00 de229c00 de1f6c00 de1f6c20 00000001
	[   37.391632] 9de0: 00000000 c048d62c 00000000 c0330164 00000000 de1f6c20 c048d62c de1f6c00
	[   37.400207] 9e00: c0330078 de1f6c04 c078d714 de189b58 00000000 c02ccfd8 de1f6c20 c0795f40
	[   37.408782] 9e20: c0238330 00000000 00000000 c02381a8 de1b9fc0 de1f6c20 de1f6c20 de249e48
	[   37.417358] 9e40: c0238330 c0236bb0 decdbed8 de7d0f14 de1f6c20 de1f6c20 de1f6c54 de1f6c20
	[   37.425933] 9e60: 00000000 c0238030 de1f6c20 c078d7bc de1f6c20 c02377ec de1f6c20 de1f6c28
	[   37.434509] 9e80: dee64cb0 c0236138 c047c554 de189b58 00000000 c004b45c de1f6c20 de1f6cd8
	[   37.443084] 9ea0: c0edfa6c de1f6c00 dee64c68 de1f6c04 de1f6c20 dee64cb8 c047c554 de189b58
	[   37.451690] 9ec0: 00000000 c02cd634 dee64c68 de249ef4 de23b008 dee64cb0 0000000d de23b000
	[   37.460266] 9ee0: de23b007 c02cd78c 00000002 00000000 00000000 35636d68 00333438 00000000
	[   37.468841] 9f00: 00000000 00000000 001e0000 00000000 00000000 00000000 00000000 0a10cec0
	[   37.477416] 9f20: 00000002 de249f80 0000000d dee62990 de189b40 c0234d88 0000000d c010c354
	[   37.485992] 9f40: 0000000d de210f28 000acc88 de249f80 0000000d de248000 00000000 c00b7bf8
	[   37.494567] 9f60: de210f28 000acc88 de210f28 000acc88 00000000 00000000 0000000d c00b7ed8
	[   37.503143] 9f80: 00000000 00000000 0000000d 00000000 0007fa28 0000000d 000acc88 00000004
	[   37.511718] 9fa0: c000e544 c000e380 0007fa28 0000000d 00000001 000acc88 0000000d 00000000
	[   37.520294] 9fc0: 0007fa28 0000000d 000acc88 00000004 00000001 00000020 00000002 00000000
	[   37.528869] 9fe0: 00000000 beab8624 0000ea05 b6eaebac 600d0010 00000001 00000000 00000000
	[   37.537475] [<c00b408c>] (kfree+0x84/0x144) from [<c0236274>] (device_add+0x530/0x57c)
	[   37.545806] [<c0236274>] (device_add+0x530/0x57c) from [<c032fa40>] (iio_device_register+0x8c8/0x990)
	[   37.555480] [<c032fa40>] (iio_device_register+0x8c8/0x990) from [<c0330164>] (hmc5843_probe+0xec/0x114)
	[   37.565338] [<c0330164>] (hmc5843_probe+0xec/0x114) from [<c02ccfd8>] (i2c_device_probe+0xc4/0xf8)
	[   37.574737] [<c02ccfd8>] (i2c_device_probe+0xc4/0xf8) from [<c02381a8>] (driver_probe_device+0x118/0x218)
	[   37.584777] [<c02381a8>] (driver_probe_device+0x118/0x218) from [<c0236bb0>] (bus_for_each_drv+0x4c/0x84)
	[   37.594818] [<c0236bb0>] (bus_for_each_drv+0x4c/0x84) from [<c0238030>] (device_attach+0x78/0xa4)
	[   37.604125] [<c0238030>] (device_attach+0x78/0xa4) from [<c02377ec>] (bus_probe_device+0x28/0x9c)
	[   37.613433] [<c02377ec>] (bus_probe_device+0x28/0x9c) from [<c0236138>] (device_add+0x3f4/0x57c)
	[   37.622650] [<c0236138>] (device_add+0x3f4/0x57c) from [<c02cd634>] (i2c_new_device+0xf8/0x19c)
	[   37.631805] [<c02cd634>] (i2c_new_device+0xf8/0x19c) from [<c02cd78c>] (i2c_sysfs_new_device+0xb4/0x130)
	[   37.641754] [<c02cd78c>] (i2c_sysfs_new_device+0xb4/0x130) from [<c0234d88>] (dev_attr_store+0x18/0x24)
	[   37.651611] [<c0234d88>] (dev_attr_store+0x18/0x24) from [<c010c354>] (sysfs_write_file+0x10c/0x140)
	[   37.661193] [<c010c354>] (sysfs_write_file+0x10c/0x140) from [<c00b7bf8>] (vfs_write+0xb0/0x178)
	[   37.670410] [<c00b7bf8>] (vfs_write+0xb0/0x178) from [<c00b7ed8>] (sys_write+0x3c/0x68)
	[   37.678833] [<c00b7ed8>] (sys_write+0x3c/0x68) from [<c000e380>] (ret_fast_syscall+0x0/0x3c)
	[   37.687683] Code: 1593301c e5932000 e3120080 1a000000 (e7f001f2)
	[   37.700775] ---[ end trace aaf805debdb69390 ]---

Client data was assigned to iio_dev structure in probe but in
hmc5843_init_client function casted to private driver data structure which
is wrong. Possibly calling mutex_init(&data->lock); corrupt data
which the lead to above crash.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-22 16:21:23 -07:00
Todd Poynor
94225ab0be Merge linux-stable 3.0.28 into android-3.0
Change-Id: Iee820738e53627f5d0447a87ceff34443aa72786
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2012-04-19 15:20:03 -07:00
chenli
a8da0bebb0 RK30: IPP version 1.001
add code of enabling/disabling power domain
2012-04-01 15:23:39 +08:00
chenli
3462976d10 IPP: version 1.000:add rk29-ipp.ko support 2012-03-30 10:49:44 +08:00
root
1da3a9b08e camera rk30:ipp compatible with rk30,video module is enabled for default 2012-03-28 10:33:15 +08:00
杜坤明
e7d759b83f rk29 gpu : remove drivers/staging/rk29/vivante code 2012-03-27 15:14:31 +08:00
杜坤明
36757f0519 rk29 gpu :
1. modify the judgment conditions on wait_for_completion_interruptible_timeout return;
    2. modify code for build ko;
    3. add gcdTILESTATUS_SINGLE_BANK but no use it;
    4. update version to 2.2.4;
    5. modify pack-kernel.sh to remove uu of gpu;
2012-03-27 13:07:19 +08:00
黄涛
e153fabd0b Merge remote-tracking branch 'origin/develop-3.0-rk30' into develop-3.0
Conflicts:
	arch/arm/mach-rk29/Makefile
	arch/arm/mach-rk29/include/mach/rk29_camera.h
	drivers/gpu/ion/ion.c
	drivers/gpu/ion/ion_carveout_heap.c
	drivers/gpu/ion/ion_priv.h
	drivers/media/video/gc0307.c
	drivers/media/video/gc0308.c
	drivers/media/video/gc0309.c
	drivers/media/video/gc2015.c
	drivers/media/video/gt2005.c
	drivers/media/video/mt9d112.c
	drivers/media/video/mt9d113.c
	drivers/media/video/mt9p111.c
	drivers/media/video/mt9t111.c
	drivers/media/video/ov2640_rk.c
	drivers/media/video/ov2655.c
	drivers/media/video/ov2659.c
	drivers/media/video/ov5640.c
	drivers/media/video/ov5642.c
	drivers/media/video/ov7675.c
	drivers/media/video/rk29_camera.c
	drivers/media/video/sid130B.c
	drivers/media/video/siv120b.c
	drivers/mmc/host/rk29_sdmmc.c
	include/linux/ion.h
2012-03-25 15:16:37 +08:00