John W. Linville 6ba98d311d [PATCH] via-rhine: change mdelay to msleep and remove from ISR path
Get rid of the mdelay call in rhine_disable_linkmon.  The function
is called from the via-rhine versions of mdio_read and mdio_write.
Those functions are indirectly called from rhine_check_media and
rhine_tx_timeout, both of which can be called in interrupt context.

So, create tx_timeout_task and check_media_task as instances of struct
work_struct inside of rhine_private.  Then, change rhine_tx_timeout to
invoke schedule_work for tx_timeout_task (i.e. rhine_tx_timeout_task),
moving the work to process context.  Also, change rhine_error (invoked
from rhine_interrupt) to invoke schedule_work for check_media_task
(i.e. rhine_check_media_task), which simply calls rhine_check media
in process context.  Finally, add a call to flush_scheduled_work in
rhine_close to avoid any resource conflicts with pending work items.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:26:01 -04:00
..
2005-09-20 21:01:13 +01:00
2005-10-17 17:03:57 -07:00
2005-07-30 09:47:53 -05:00
2005-09-22 22:17:34 -07:00
2005-10-10 08:40:47 -07:00
2005-10-17 17:03:57 -07:00
2005-10-08 15:00:57 -07:00
2005-10-14 17:10:12 -07:00
2005-09-08 01:45:47 -04:00
2005-10-13 21:22:27 -04:00
2005-10-17 08:59:10 -07:00
2005-09-11 19:15:07 -07:00
2005-09-11 19:15:07 -07:00