<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/staging, branch v3.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/staging?h=v3.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/staging?h=v3.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-26T19:40:53Z</updated>
<entry>
<title>staging: ozwpan: Fix bug where kfree is called twice.</title>
<updated>2012-04-26T19:40:53Z</updated>
<author>
<name>Rupesh Gujare</name>
<email>rgujare@ozmodevices.com</email>
</author>
<published>2012-04-25T22:54:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=89f21cc050d5eed8eeffee5b46297fb7a74ef9dd'/>
<id>urn:sha1:89f21cc050d5eed8eeffee5b46297fb7a74ef9dd</id>
<content type='text'>
Signed-off-by: Rupesh Gujare &lt;rgujare@ozmodevices.com&gt;
Signed-off-by: Chris Kelly &lt;ckelly@ozmodevices.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: octeon-ethernet: fix build errors by including interrupt.h</title>
<updated>2012-04-24T18:57:37Z</updated>
<author>
<name>Imre Kaloz</name>
<email>kaloz@openwrt.org</email>
</author>
<published>2012-04-19T10:27:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dc890df0a77cafe5f4a3d81c0dade637c27f1934'/>
<id>urn:sha1:dc890df0a77cafe5f4a3d81c0dade637c27f1934</id>
<content type='text'>
This patch fixes the following build failures:

drivers/staging/octeon/ethernet.c: In function 'cvm_oct_cleanup_module':
drivers/staging/octeon/ethernet.c:799:2: error: implicit declaration of function 'free_irq'
drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_no_more_work':
drivers/staging/octeon/ethernet-rx.c:119:3: error: implicit declaration of function 'enable_irq'
drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_do_interrupt':
drivers/staging/octeon/ethernet-rx.c:136:2: error: implicit declaration of function 'disable_irq_nosync'
drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_rx_initialize':
drivers/staging/octeon/ethernet-rx.c:532:2: error: implicit declaration of function 'request_irq'
drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_tx_initialize':
drivers/staging/octeon/ethernet-tx.c:712:2: error: implicit declaration of function 'request_irq'
drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_tx_shutdown':
drivers/staging/octeon/ethernet-tx.c:723:2: error: implicit declaration of function 'free_irq'

Signed-off-by: Imre Kaloz &lt;kaloz@openwrt.org&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: zcache: fix Kconfig crypto dependency</title>
<updated>2012-04-24T18:57:36Z</updated>
<author>
<name>Seth Jennings</name>
<email>sjenning@linux.vnet.ibm.com</email>
</author>
<published>2012-04-24T01:33:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=349ae79c0a3db1632ac4db955c53db05fc017bde'/>
<id>urn:sha1:349ae79c0a3db1632ac4db955c53db05fc017bde</id>
<content type='text'>
ZCACHE is a boolean in the Kconfig.  When selected, it
should require that CRYPTO be builtin (=y).

Currently, ZCACHE=y and CRYPTO=m is a valid configuration
when it should not be.

This patch changes the zcache Kconfig to enforce this
dependency.

Signed-off-by: Seth Jennings &lt;sjenning@linux.vnet.ibm.com&gt;
Acked-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: tidspbridge: remove usage of OMAP2_L4_IO_ADDRESS</title>
<updated>2012-04-24T18:57:36Z</updated>
<author>
<name>Omar Ramirez Luna</name>
<email>omar.ramirez@ti.com</email>
</author>
<published>2012-04-21T01:22:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2cd62ec9a3a2805014bdc14e0644b5faa352d3c'/>
<id>urn:sha1:a2cd62ec9a3a2805014bdc14e0644b5faa352d3c</id>
<content type='text'>
Instead now use ioremap. This is needed for 3.4 since this change
emerged in mainline during one of the previous rc cycles.

These solves the following compilation breaks:

drivers/staging/tidspbridge/core/tiomap3430.c:
    In function ‘bridge_brd_start’:
drivers/staging/tidspbridge/core/tiomap3430.c:425:4:
    error: implicit declaration of function ‘OMAP2_L4_IO_ADDRESS’

drivers/staging/tidspbridge/core/wdt.c: In function ‘dsp_wdt_init’:
drivers/staging/tidspbridge/core/wdt.c:56:2:
    error: implicit declaration of function ‘OMAP2_L4_IO_ADDRESS’

For control registers a new function needs to be defined so we
can get rid of a layer violation, but that approach must be queued
for the next merge window.

As seen in:
http://www.arm.linux.org.uk/developer/build/
platform: omap4430-sdp		build: uImage
config: randconfig			version: 3.4.0-rc3
start time: Apr 20 2012 01:07

Reported-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Omar Ramirez Luna &lt;omar.ramirez@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'staging-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging</title>
<updated>2012-04-12T22:35:12Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-04-12T22:35:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3dbc35a339d7c8c756cb159b9ba076fac4e7faeb'/>
<id>urn:sha1:3dbc35a339d7c8c756cb159b9ba076fac4e7faeb</id>
<content type='text'>
Pull staging tree fixes from Greg KH:
 "Here are a number of bugfixes for the drivers/staging/ portion of the
  kernel that have been reported recently.

  Nothing major here, with maybe the exception of the ramster code can
  now be built so it is enabled in the build again, and lots of memory
  leaks that people like to have fixed on their systems.

  Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;"

* tag 'staging-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: android: fix mem leaks in __persistent_ram_init()
  staging: vt6656: Don't leak memory in drivers/staging/vt6656/ioctl.c::private_ioctl()
  staging: iio: hmc5843: Fix crash in probe function.
  staging/xgifb: fix display on XGI Volari Z11m cards
  Staging: android: timed_gpio: Fix resource leak in timed_gpio_probe error paths
  android: make persistent_ram based drivers depend on HAVE_MEMBLOCK
  staging: iio: ak8975: Remove i2c client data corruption
  staging: drm/omap: move where DMM driver is registered
  staging: zsmalloc: fix memory leak
  Staging: rts_pstor: off by one in for loop
  staging: ozwpan: Added new maintainer for ozwpan
  staging:rts_pstor:Avoid "Bad target number" message when probing driver
  staging:rts_pstor:Fix possible panic by NULL pointer dereference
  Staging: vt6655-6: check keysize before memcpy()
  staging/media/as102: Don't call release_firmware() on uninitialized variable
  staging:iio:core add missing increment of loop index in iio_map_array_unregister()
  staging: ramster: unbreak my heart
  staging/vme: Fix module parameters
  staging: sep: Fix sign of error
</content>
</entry>
<entry>
<title>staging: android: fix mem leaks in __persistent_ram_init()</title>
<updated>2012-04-12T21:34:32Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2012-04-11T20:10:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=474a89885f77953b12bce9f23660c31ef5c2630e'/>
<id>urn:sha1:474a89885f77953b12bce9f23660c31ef5c2630e</id>
<content type='text'>
If, in __persistent_ram_init(), the call to
persistent_ram_buffer_init() fails or the call to
persistent_ram_init_ecc() fails then we fail to free the memory we
allocated to 'prz' with kzalloc() - thus leaking it.

To prevent the leaks I consolidated all error exits from the function
at a 'err:' label at the end and made all error cases jump to that
label where we can then make sure we always free 'prz'. This is safe
since all the situations where the code bails out happen before 'prz'
has been stored anywhere and although we'll do a redundant kfree(NULL)
call in the case of kzalloc() itself failing that's OK since kfree()
deals gracefully with NULL pointers and I felt it was more important
to keep all error exits at a single location than to avoid that one
harmless/redundant kfree() on a error path.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Acked-by: Colin Cross &lt;ccross@android.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: vt6656: Don't leak memory in drivers/staging/vt6656/ioctl.c::private_ioctl()</title>
<updated>2012-04-12T21:34:31Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2012-04-11T22:35:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=17b7e1ba1e2ecc9a09f5e154e555accd2a2eaedf'/>
<id>urn:sha1:17b7e1ba1e2ecc9a09f5e154e555accd2a2eaedf</id>
<content type='text'>
If copy_to_user() fails in the WLAN_CMD_GET_NODE_LIST case of the
switch in drivers/staging/vt6656/ioctl.c::private_ioctl() we'll leak
the memory allocated to 'pNodeList'. Fix that by kfree'ing the memory
in the failure case.
Also remove a pointless cast (to type 'PSNodeList') of a kmalloc()
return value - kmalloc() returns a void pointer that is implicitly
converted, so there is no need for an explicit cast.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging: iio: hmc5843: Fix crash in probe function.</title>
<updated>2012-04-12T21:34:31Z</updated>
<author>
<name>Marek Belisko</name>
<email>marek.belisko@open-nandra.com</email>
</author>
<published>2012-04-12T19:48:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=62d2feb9803f18c4e3c8a1a2c7e30a54df8a1d72'/>
<id>urn:sha1:62d2feb9803f18c4e3c8a1a2c7e30a54df8a1d72</id>
<content type='text'>
Fix crash after issuing:
	echo hmc5843 0x1e &gt; /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 : [&lt;c00b408c&gt;]    lr : [&lt;c00b4028&gt;]    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] [&lt;c00b408c&gt;] (kfree+0x84/0x144) from [&lt;c0236274&gt;] (device_add+0x530/0x57c)
	[   37.545806] [&lt;c0236274&gt;] (device_add+0x530/0x57c) from [&lt;c032fa40&gt;] (iio_device_register+0x8c8/0x990)
	[   37.555480] [&lt;c032fa40&gt;] (iio_device_register+0x8c8/0x990) from [&lt;c0330164&gt;] (hmc5843_probe+0xec/0x114)
	[   37.565338] [&lt;c0330164&gt;] (hmc5843_probe+0xec/0x114) from [&lt;c02ccfd8&gt;] (i2c_device_probe+0xc4/0xf8)
	[   37.574737] [&lt;c02ccfd8&gt;] (i2c_device_probe+0xc4/0xf8) from [&lt;c02381a8&gt;] (driver_probe_device+0x118/0x218)
	[   37.584777] [&lt;c02381a8&gt;] (driver_probe_device+0x118/0x218) from [&lt;c0236bb0&gt;] (bus_for_each_drv+0x4c/0x84)
	[   37.594818] [&lt;c0236bb0&gt;] (bus_for_each_drv+0x4c/0x84) from [&lt;c0238030&gt;] (device_attach+0x78/0xa4)
	[   37.604125] [&lt;c0238030&gt;] (device_attach+0x78/0xa4) from [&lt;c02377ec&gt;] (bus_probe_device+0x28/0x9c)
	[   37.613433] [&lt;c02377ec&gt;] (bus_probe_device+0x28/0x9c) from [&lt;c0236138&gt;] (device_add+0x3f4/0x57c)
	[   37.622650] [&lt;c0236138&gt;] (device_add+0x3f4/0x57c) from [&lt;c02cd634&gt;] (i2c_new_device+0xf8/0x19c)
	[   37.631805] [&lt;c02cd634&gt;] (i2c_new_device+0xf8/0x19c) from [&lt;c02cd78c&gt;] (i2c_sysfs_new_device+0xb4/0x130)
	[   37.641754] [&lt;c02cd78c&gt;] (i2c_sysfs_new_device+0xb4/0x130) from [&lt;c0234d88&gt;] (dev_attr_store+0x18/0x24)
	[   37.651611] [&lt;c0234d88&gt;] (dev_attr_store+0x18/0x24) from [&lt;c010c354&gt;] (sysfs_write_file+0x10c/0x140)
	[   37.661193] [&lt;c010c354&gt;] (sysfs_write_file+0x10c/0x140) from [&lt;c00b7bf8&gt;] (vfs_write+0xb0/0x178)
	[   37.670410] [&lt;c00b7bf8&gt;] (vfs_write+0xb0/0x178) from [&lt;c00b7ed8&gt;] (sys_write+0x3c/0x68)
	[   37.678833] [&lt;c00b7ed8&gt;] (sys_write+0x3c/0x68) from [&lt;c000e380&gt;] (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(&amp;data-&gt;lock); corrupt data
which the lead to above crash.

Signed-off-by: Marek Belisko &lt;marek.belisko@open-nandra.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Acked-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>staging/xgifb: fix display on XGI Volari Z11m cards</title>
<updated>2012-04-10T16:51:49Z</updated>
<author>
<name>Dmitry Eremin-Solenikov</name>
<email>dbaryshkov@gmail.com</email>
</author>
<published>2012-03-19T17:50:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6490311f423b0d77969d6fa2ab6354b87e373bf9'/>
<id>urn:sha1:6490311f423b0d77969d6fa2ab6354b87e373bf9</id>
<content type='text'>
Image on Z11m cards was totally garbled due to wrong memory being
selected. Add a special handling for Z11m cards. Tested on PCIe Z11 and
Z11m cards.

Signed-off-by: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Staging: android: timed_gpio: Fix resource leak in timed_gpio_probe error paths</title>
<updated>2012-04-10T16:48:29Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2012-03-21T01:24:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5d92f71e687e4e1a0bed489707d1ec58fe1100de'/>
<id>urn:sha1:5d92f71e687e4e1a0bed489707d1ec58fe1100de</id>
<content type='text'>
If gpio_request fails, we need to free all allocated resources.
Current code uses wrong array index to access gpio_data array.
So current code actually frees gpio_data[i].gpio by j times.

This patch moves the error handling code to err_out and thus improves
readability.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
