dect
/
linux-2.6
Archived
13
0
Fork 0

Merge branch 'fixes-for-3.6' of git://gitorious.org/linux-can/linux-can

Marc Kleine-Budde says:

====================
two patches for the v3.6 release cycle. Ira W. Snyder fixed support for the
older version of the Janz CMOD-IO Carrier Board. I found and fixed an oops in
the ti_hecc driver, which occurs when removing the module if the network
interface is still open.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2012-09-21 13:49:59 -04:00
commit e0c7a4a1a6
2 changed files with 2 additions and 4 deletions

View File

@ -1391,7 +1391,6 @@ static irqreturn_t ican3_irq(int irq, void *dev_id)
*/ */
static int ican3_reset_module(struct ican3_dev *mod) static int ican3_reset_module(struct ican3_dev *mod)
{ {
u8 val = 1 << mod->num;
unsigned long start; unsigned long start;
u8 runold, runnew; u8 runold, runnew;
@ -1405,8 +1404,7 @@ static int ican3_reset_module(struct ican3_dev *mod)
runold = ioread8(mod->dpm + TARGET_RUNNING); runold = ioread8(mod->dpm + TARGET_RUNNING);
/* reset the module */ /* reset the module */
iowrite8(val, &mod->ctrl->reset_assert); iowrite8(0x00, &mod->dpmctrl->hwreset);
iowrite8(val, &mod->ctrl->reset_deassert);
/* wait until the module has finished resetting and is running */ /* wait until the module has finished resetting and is running */
start = jiffies; start = jiffies;

View File

@ -984,12 +984,12 @@ static int __devexit ti_hecc_remove(struct platform_device *pdev)
struct net_device *ndev = platform_get_drvdata(pdev); struct net_device *ndev = platform_get_drvdata(pdev);
struct ti_hecc_priv *priv = netdev_priv(ndev); struct ti_hecc_priv *priv = netdev_priv(ndev);
unregister_candev(ndev);
clk_disable(priv->clk); clk_disable(priv->clk);
clk_put(priv->clk); clk_put(priv->clk);
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
iounmap(priv->base); iounmap(priv->base);
release_mem_region(res->start, resource_size(res)); release_mem_region(res->start, resource_size(res));
unregister_candev(ndev);
free_candev(ndev); free_candev(ndev);
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);