<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/usb/chipidea/core.c, branch v3.9.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>drivers/usb/chipidea/core.c: adjust duplicate test</title>
<updated>2013-01-21T21:15:31+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2013-01-21T13:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5c6e9bf011bca072648017477b0fe36402be1415'/>
<id>5c6e9bf011bca072648017477b0fe36402be1415</id>
<content type='text'>
Delete successive tests to the same location.  In this case res has already
been tested for being NULL, and calling devm_request_and_ioremap will not
make it NULL.  On the other hand, devm_request_and_ioremap can return NULL
on failure.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@s exists@
local idexpression y;
expression x,e;
@@

*if ( \(x == NULL\|IS_ERR(x)\|y != 0\) )
 { ... when forall
   return ...; }
... when != \(y = e\|y += e\|y -= e\|y |= e\|y &amp;= e\|y++\|y--\|&amp;y\)
    when != \(XT_GETPAGE(...,y)\|WMI_CMD_BUF(...)\)
*if ( \(x == NULL\|IS_ERR(x)\|y != 0\) )
 { ... when forall
   return ...; }
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Delete successive tests to the same location.  In this case res has already
been tested for being NULL, and calling devm_request_and_ioremap will not
make it NULL.  On the other hand, devm_request_and_ioremap can return NULL
on failure.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@s exists@
local idexpression y;
expression x,e;
@@

*if ( \(x == NULL\|IS_ERR(x)\|y != 0\) )
 { ... when forall
   return ...; }
... when != \(y = e\|y += e\|y -= e\|y |= e\|y &amp;= e\|y++\|y--\|&amp;y\)
    when != \(XT_GETPAGE(...,y)\|WMI_CMD_BUF(...)\)
*if ( \(x == NULL\|IS_ERR(x)\|y != 0\) )
 { ... when forall
   return ...; }
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: chipidea: fix use after free bug</title>
<updated>2012-11-26T22:59:00+00:00</updated>
<author>
<name>Lothar Waßmann</name>
<email>LW@KARO-electronics.de</email>
</author>
<published>2012-11-22T09:11:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=98c35534420d3147553bd3071a5fc63cd56de5b1'/>
<id>98c35534420d3147553bd3071a5fc63cd56de5b1</id>
<content type='text'>
The pointer to a platform_device struct must not be dereferenced after
the device has been unregistered.

This bug produces a crash when unloading the ci13xxx kernel module
compiled with CONFIG_PAGE_POISONING enabled.

Signed-off-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.6
Acked-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pointer to a platform_device struct must not be dereferenced after
the device has been unregistered.

This bug produces a crash when unloading the ci13xxx kernel module
compiled with CONFIG_PAGE_POISONING enabled.

Signed-off-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.6
Acked-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: remove use of __devexit</title>
<updated>2012-11-21T21:27:17+00:00</updated>
<author>
<name>Bill Pemberton</name>
<email>wfp5p@virginia.edu</email>
</author>
<published>2012-11-19T18:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb4e98ab63433c4d3a1588ea91c73f1cd7ebaa00'/>
<id>fb4e98ab63433c4d3a1588ea91c73f1cd7ebaa00</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.

Signed-off-by: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Li Yang &lt;leoli@freescale.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Wan ZongShun &lt;mcuos.com@gmail.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.

Signed-off-by: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Li Yang &lt;leoli@freescale.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Wan ZongShun &lt;mcuos.com@gmail.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: remove use of __devinit</title>
<updated>2012-11-21T21:27:16+00:00</updated>
<author>
<name>Bill Pemberton</name>
<email>wfp5p@virginia.edu</email>
</author>
<published>2012-11-19T18:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=41ac7b3ab7fe1d6175839947a877fdf95cbd2211'/>
<id>41ac7b3ab7fe1d6175839947a877fdf95cbd2211</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option so __devinit is no longer
needed.

Signed-off-by: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Li Yang &lt;leoli@freescale.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Geoff Levand &lt;geoff@infradead.org&gt;
Cc: Wan ZongShun &lt;mcuos.com@gmail.com&gt;
Cc: Olav Kongas &lt;ok@artecdesign.ee&gt;
Cc: Lennert Buytenhek &lt;kernel@wantstofly.org&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CONFIG_HOTPLUG is going away as an option so __devinit is no longer
needed.

Signed-off-by: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Li Yang &lt;leoli@freescale.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Geoff Levand &lt;geoff@infradead.org&gt;
Cc: Wan ZongShun &lt;mcuos.com@gmail.com&gt;
Cc: Olav Kongas &lt;ok@artecdesign.ee&gt;
Cc: Lennert Buytenhek &lt;kernel@wantstofly.org&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: remove use of __devexit_p</title>
<updated>2012-11-21T21:27:16+00:00</updated>
<author>
<name>Bill Pemberton</name>
<email>wfp5p@virginia.edu</email>
</author>
<published>2012-11-19T18:21:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7690417db5085f0de03aa70b8ca01b0118e8a1b4'/>
<id>7690417db5085f0de03aa70b8ca01b0118e8a1b4</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed.

Signed-off-by: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Li Yang &lt;leoli@freescale.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Wan ZongShun &lt;mcuos.com@gmail.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Acked-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed.

Signed-off-by: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Li Yang &lt;leoli@freescale.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Wan ZongShun &lt;mcuos.com@gmail.com&gt;
Cc: Ben Dooks &lt;ben-linux@fluff.org&gt;
Cc: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Acked-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: chipidea: re-order irq handling to avoid unhandled irqs</title>
<updated>2012-09-12T18:20:38+00:00</updated>
<author>
<name>Richard Zhao</name>
<email>richard.zhao@freescale.com</email>
</author>
<published>2012-09-12T11:58:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b183c19f98f8afee799ee41e062810d6b1c7e123'/>
<id>b183c19f98f8afee799ee41e062810d6b1c7e123</id>
<content type='text'>
- let role driver handle irq before ID change check; this gives the
  role driver a chance to handle disconnect;
- disable irq during switch role; no role driver to handle irq in
  the period.

Tested-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- let role driver handle irq before ID change check; this gives the
  role driver a chance to handle disconnect;
- disable irq during switch role; no role driver to handle irq in
  the period.

Tested-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: chipidea: acknowledge ID change interrupt in irq handler</title>
<updated>2012-09-12T18:20:38+00:00</updated>
<author>
<name>Richard Zhao</name>
<email>richard.zhao@freescale.com</email>
</author>
<published>2012-09-12T11:58:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=984f753cf120db60d97271e34cf16c95761f0278'/>
<id>984f753cf120db60d97271e34cf16c95761f0278</id>
<content type='text'>
In order to avoid re-queueing of the role changing work, we need to clear
the ID change interrupt bit right in the irq handler.

Tested-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to avoid re-queueing of the role changing work, we need to clear
the ID change interrupt bit right in the irq handler.

Tested-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: chipidea: delay 2ms before read ID status at probe time</title>
<updated>2012-09-12T18:20:38+00:00</updated>
<author>
<name>Richard Zhao</name>
<email>richard.zhao@freescale.com</email>
</author>
<published>2012-09-12T11:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=86ad01a907d7856edc07d8b49260c39520c0e932'/>
<id>86ad01a907d7856edc07d8b49260c39520c0e932</id>
<content type='text'>
The ID pin needs 1ms debounce time, even at probe time. We delay 2ms
to be on the safe side.

Tested-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ID pin needs 1ms debounce time, even at probe time. We delay 2ms
to be on the safe side.

Tested-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: chipidea: permit driver bindings pass phy pointer</title>
<updated>2012-07-09T16:59:23+00:00</updated>
<author>
<name>Richard Zhao</name>
<email>richard.zhao@freescale.com</email>
</author>
<published>2012-07-07T14:56:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a2c3d6902f6f9916b5376c44baa8c1d08bf92a27'/>
<id>a2c3d6902f6f9916b5376c44baa8c1d08bf92a27</id>
<content type='text'>
Sometimes, the driver bindings may know what phy they use.
For example, when using device tree, the usb controller may have a
phandler pointing to usb phy.

Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Reviewed-by: Marek Vasut &lt;marex@denx.de&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Tested-by: Subodh Nijsure &lt;snijsure@grid-net.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes, the driver bindings may know what phy they use.
For example, when using device tree, the usb controller may have a
phandler pointing to usb phy.

Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Reviewed-by: Marek Vasut &lt;marex@denx.de&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Tested-by: Subodh Nijsure &lt;snijsure@grid-net.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: Chipidea: add ci13xxx device id management</title>
<updated>2012-07-09T16:53:44+00:00</updated>
<author>
<name>Richard Zhao</name>
<email>richard.zhao@freescale.com</email>
</author>
<published>2012-07-07T14:56:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fe6e125e30fb9d93fdfc5e3e3702b9c7c3076194'/>
<id>fe6e125e30fb9d93fdfc5e3e3702b9c7c3076194</id>
<content type='text'>
We use ida_simple_get and ida_simple_remove to manage the ids.

Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Reviewed-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We use ida_simple_get and ida_simple_remove to manage the ids.

Signed-off-by: Richard Zhao &lt;richard.zhao@freescale.com&gt;
Reviewed-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
