提交 91c7c568 编写于 作者: A Al Viro 提交者: Linus Torvalds

[PATCH] ... and more work_struct-induced breakage (mips)

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 4927b3f7
...@@ -215,8 +215,15 @@ m41t00_set(void *arg) ...@@ -215,8 +215,15 @@ m41t00_set(void *arg)
} }
static ulong new_time; static ulong new_time;
/* well, isn't this API just _lovely_? */
static void
m41t00_barf(struct work_struct *unusable)
{
m41t00_set(&new_time);
}
static struct workqueue_struct *m41t00_wq; static struct workqueue_struct *m41t00_wq;
static DECLARE_WORK(m41t00_work, m41t00_set, &new_time); static DECLARE_WORK(m41t00_work, m41t00_barf);
int int
m41t00_set_rtc_time(ulong nowtime) m41t00_set_rtc_time(ulong nowtime)
......
...@@ -277,9 +277,11 @@ static void mv643xx_eth_tx_timeout(struct net_device *dev) ...@@ -277,9 +277,11 @@ static void mv643xx_eth_tx_timeout(struct net_device *dev)
* *
* Actual routine to reset the adapter when a timeout on Tx has occurred * Actual routine to reset the adapter when a timeout on Tx has occurred
*/ */
static void mv643xx_eth_tx_timeout_task(struct net_device *dev) static void mv643xx_eth_tx_timeout_task(struct work_struct *ugly)
{ {
struct mv643xx_private *mp = netdev_priv(dev); struct mv643xx_private *mp = container_of(ugly, struct mv643xx_private,
tx_timeout_task);
struct net_device *dev = mp->mii.dev; /* yuck */
if (!netif_running(dev)) if (!netif_running(dev))
return; return;
...@@ -1360,8 +1362,7 @@ static int mv643xx_eth_probe(struct platform_device *pdev) ...@@ -1360,8 +1362,7 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
#endif #endif
/* Configure the timeout task */ /* Configure the timeout task */
INIT_WORK(&mp->tx_timeout_task, INIT_WORK(&mp->tx_timeout_task, mv643xx_eth_tx_timeout_task);
(void (*)(void *))mv643xx_eth_tx_timeout_task, dev);
spin_lock_init(&mp->lock); spin_lock_init(&mp->lock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册