Commit e0c7a4a1 authored by David S. Miller's avatar David S. Miller

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: default avatarDavid S. Miller <davem@davemloft.net>
parents dc9c9759 ab04c8bd
...@@ -1391,7 +1391,6 @@ static irqreturn_t ican3_irq(int irq, void *dev_id) ...@@ -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) ...@@ -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;
......
...@@ -984,12 +984,12 @@ static int __devexit ti_hecc_remove(struct platform_device *pdev) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment