<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/rpmsg, branch v3.4.55</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/rpmsg?h=v3.4.55</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/rpmsg?h=v3.4.55'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-07-19T15:58:57Z</updated>
<entry>
<title>rpmsg: fix dependency on initialization order</title>
<updated>2012-07-19T15:58:57Z</updated>
<author>
<name>Federico Fuga</name>
<email>fuga@studiofuga.com</email>
</author>
<published>2012-07-16T07:36:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c8ed7cf355f41b649524029c49f101d878499482'/>
<id>urn:sha1:c8ed7cf355f41b649524029c49f101d878499482</id>
<content type='text'>
commit 9634252617441991b01dacaf4040866feecaf36f upstream.

When rpmsg drivers are built into the kernel, they must not initialize
before the rpmsg bus does, otherwise they'd trigger a BUG() in
drivers/base/driver.c line 169 (driver_register()).

To fix that, and to stop depending on arbitrary linkage ordering of
those built-in rpmsg drivers, we make the rpmsg bus initialize at
subsys_initcall.

Signed-off-by: Federico Fuga &lt;fuga@studiofuga.com&gt;
[ohad: rewrite the commit log]
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rpmsg: make sure inflight messages don't invoke just-removed callbacks</title>
<updated>2012-07-16T16:03:52Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-06-07T12:39:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0f9c37b38800c35e83f43949d93bffefff5b43af'/>
<id>urn:sha1:0f9c37b38800c35e83f43949d93bffefff5b43af</id>
<content type='text'>
commit 15fd943af50dbc5f7f4de33835795c72595f7bf4 upstream.

When inbound messages arrive, rpmsg core looks up their associated
endpoint (by destination address) and then invokes their callback.

We've made sure that endpoints will never be de-allocated after they
were found by rpmsg core, but we also need to protect against the
(rare) scenario where the rpmsg driver was just removed, and its
callback function isn't available anymore.

This is achieved by introducing a callback mutex, which must be taken
before the callback is invoked, and, obviously, before it is removed.

Reported-by: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rpmsg: avoid premature deallocation of endpoints</title>
<updated>2012-07-16T16:03:52Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-06-06T07:09:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=735129c4609e98fd149cddda50b823e43bab0677'/>
<id>urn:sha1:735129c4609e98fd149cddda50b823e43bab0677</id>
<content type='text'>
commit 5a081caa0414b9bbb82c17ffab9d6fe66edbb72f upstream.

When an inbound message arrives, the rpmsg core looks up its
associated endpoint and invokes the registered callback.

If a message arrives while its endpoint is being removed (because
the rpmsg driver was removed, or a recovery of a remote processor
has kicked in) we must ensure atomicity, i.e.:

- Either the ept is removed before it is found

or

- The ept is found but will not be freed until the callback returns

This is achieved by maintaining a per-ept reference count, which,
when drops to zero, will trigger deallocation of the ept.

With this in hand, it is now forbidden to directly deallocate
epts once they have been added to the endpoints idr.

Reported-by: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rpmsg: fix build warning when dma_addr_t is 64-bit</title>
<updated>2012-03-04T11:43:41Z</updated>
<author>
<name>Mark Asselstine</name>
<email>mark.asselstine@windriver.com</email>
</author>
<published>2012-03-04T11:33:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9d8ae5c22b73852e9b23ba4e520a64c29bbfc939'/>
<id>urn:sha1:9d8ae5c22b73852e9b23ba4e520a64c29bbfc939</id>
<content type='text'>
dev_dbg() in rpmsg_probe() made use of the %x formatting that
expects an 'unsigned int' which dma_addr_t is not in cases where
dma_addr_t is 64-bit (CONFIG_ARCH_DMA_ADDR_T_64BIT). Casting to
a 'unsigned long long' and using %llx will avoid this.

Signed-off-by: Mark Asselstine &lt;mark.asselstine@windriver.com&gt;
CC: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
CC: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>rpmsg: fix published buffer length in rpmsg_recv_done</title>
<updated>2012-02-28T17:10:04Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-28T14:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f1d9e9c767f96f57a3cca5304c046f692e115ec9'/>
<id>urn:sha1:f1d9e9c767f96f57a3cca5304c046f692e115ec9</id>
<content type='text'>
After processing an incoming message, always publish the real size
of its containing buffer when putting it back on the available rx ring.

Using any different value might erroneously limit the remote processor
(leading it to think the buffer is smaller than it really is).

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: Suman Anna &lt;s-anna@ti.com&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Rob Clark &lt;rob@ti.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: validate incoming message length before propagating</title>
<updated>2012-02-28T17:10:04Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-28T14:16:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9648224e564aa0d6e3a803bd0e056802cc97297c'/>
<id>urn:sha1:9648224e564aa0d6e3a803bd0e056802cc97297c</id>
<content type='text'>
When an inbound message arrives, validate its reported length before
propagating it, otherwise buggy (or malicious) remote processors might
trick us into accessing memory which we really shouldn't.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: Suman Anna &lt;s-anna@ti.com&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Rob Clark &lt;rob@ti.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.luna@linaro.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: fix name service endpoint leak</title>
<updated>2012-02-28T17:09:54Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2012-02-09T13:16:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fa2d7795b2e859574c86cf186e488d12178d51b3'/>
<id>urn:sha1:fa2d7795b2e859574c86cf186e488d12178d51b3</id>
<content type='text'>
The name service endpoint wasn't destroyed, so fix it.

This is achieved by introducing an internal __rpmsg_destroy_ept
function which doesn't assume the given ept is bound to an rpmsg
channel (much like the existing __rpmsg_create_ept).

This is needed because the name service ept belongs to the rpmsg bus,
and is never bound with a specific rpdev.

Reported-by: Omar Ramirez Luna &lt;omar.ramirez@ti.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: Suman Anna &lt;s-anna@ti.com&gt;
Cc: Fernando Guzman Lugo &lt;fernando.lugo@ti.com&gt;
Cc: Rob Clark &lt;rob@ti.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
Cc: Loic PALLARDY &lt;loic.pallardy@stericsson.com&gt;
Cc: Omar Ramirez Luna &lt;omar.ramirez@ti.com&gt;
</content>
</entry>
<entry>
<title>rpmsg: rename virtqueue_add_buf_gfp to virtqueue_add_buf</title>
<updated>2012-02-22T16:28:48Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2012-01-12T07:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b719587eb46c588fabc71de97c28bafcf827acf7'/>
<id>urn:sha1:b719587eb46c588fabc71de97c28bafcf827acf7</id>
<content type='text'>
Since commit 7bb7aef2 "virtio: rename virtqueue_add_buf_gfp to virtqueue_add_buf",
virtqueue_add_buf_gfp is already rename to virtqueue_add_buf now.

This patch fixes below build error:
 CC [M]  drivers/rpmsg/virtio_rpmsg_bus.o
drivers/rpmsg/virtio_rpmsg_bus.c: In function 'rpmsg_send_offchannel_raw':
drivers/rpmsg/virtio_rpmsg_bus.c:723: error: implicit declaration of function 'virtqueue_add_buf_gfp'
make[2]: *** [drivers/rpmsg/virtio_rpmsg_bus.o] Error 1
make[1]: *** [drivers/rpmsg] Error 2
make: *** [drivers] Error 2

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
<entry>
<title>rpmsg: depend on EXPERIMENTAL</title>
<updated>2012-02-22T16:28:43Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2011-12-21T09:44:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ba60295ff4793e64fca91ffec9cc37f032b2a94'/>
<id>urn:sha1:4ba60295ff4793e64fca91ffec9cc37f032b2a94</id>
<content type='text'>
There isn't any binary change in sight or evidence of any stability
issue, but as we just begin to get traction we can't rule them out
completely.

To be on the safe side, let's mark rpmsg as EXPERIMENTAL, and remove
it later on after we have several happy users.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Rob Clark &lt;rob@ti.com&gt;
Cc: Mark Grosen &lt;mgrosen@ti.com&gt;
Cc: Ludovic BARRE &lt;ludovic.barre@stericsson.com&gt;
</content>
</entry>
<entry>
<title>rpmsg: add Kconfig menu</title>
<updated>2012-02-08T20:54:49Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2011-12-14T11:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f8289edae45496477803786c90994d5e072ca66a'/>
<id>urn:sha1:f8289edae45496477803786c90994d5e072ca66a</id>
<content type='text'>
Add a dedicated Kconfig menu for the rpmsg drivers, so they
don't show up in the main driver menu.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
</content>
</entry>
</feed>
