网卡驱动:设备挂起恢复-netif_device_attach/netif_device_detach
2013-03-05 15:02
591 查看
在网卡驱动程序中通常需要实现suspend和resume函数来支持设备的挂起和恢复操作。
网络驱动程序可以用两个函数来告知网络子系统网络设备的挂起和恢复:
1】netif_device_attach
2】netif_device_detach
NETIF_DEVICE_ATTCH:
【作用】将net_device的state中的__LINK_STATE_PRESENT置位。同时开启发送队列。
NETIF_DEVICE_DETACH:
【作用】将net_device的state中的__LINK_STATE_PRESENT清位。同时关闭发送队列。
--------------源码实例---------------
static void rtl8169_net_suspend(struct net_device *dev)
{
____if (!netif_running(dev))
________return;
____netif_device_detach(dev);
____netif_stop_queue(dev);
}
static void __rtl8169_resume(struct net_device *dev)
{
____netif_device_attach(dev);
____rtl8169_schedule_work(dev, rtl8169_reset_task);
}
网络驱动程序可以用两个函数来告知网络子系统网络设备的挂起和恢复:
1】netif_device_attach
2】netif_device_detach
NETIF_DEVICE_ATTCH:
【作用】将net_device的state中的__LINK_STATE_PRESENT置位。同时开启发送队列。
NETIF_DEVICE_DETACH:
【作用】将net_device的state中的__LINK_STATE_PRESENT清位。同时关闭发送队列。
--------------源码实例---------------
static void rtl8169_net_suspend(struct net_device *dev)
{
____if (!netif_running(dev))
________return;
____netif_device_detach(dev);
____netif_stop_queue(dev);
}
static void __rtl8169_resume(struct net_device *dev)
{
____netif_device_attach(dev);
____rtl8169_schedule_work(dev, rtl8169_reset_task);
}
相关文章推荐
- 网卡驱动5-做一个与外界交互的虚拟网卡4(netif_receive_skb和非napi分析)
- [中英对照]Device Drivers in User Space: A Case for Network Device Driver | 用户态设备驱动: 以网卡驱动为例
- 网卡驱动:载波检测-netif_carrier_ok/netif_carrier_on/netif_carrier_off
- 网卡驱动:数据包发送的流控机制-netif_start_queue/netif_wake_queue/netif_stop_queue
- 网卡驱动:数据包发送的流控机制-netif_start_queue/netif_wake_queue/netif_stop_queue
- new style I2C设备驱动分析,probe,struct i2c_device_id
- LDD3字符设备驱动pipe提示No such device or address
- 编写Linux网卡设备驱动(下) .
- linux内核部件分析(六)——设备驱动模型之device
- LINUX设备驱动之设备模型三--device&driver&bus
- linux下显示网卡设备及驱动信息intel shell脚本
- Linux内核部件分析<9> 设备驱动模型之device-driver
- mini2440 usb device controller 驱动的分析--gadget设备(四)---class driver
- 嵌入式 linux下kernel代码中设备驱动模型之device-driver
- linuxDM900网卡设备驱动
- hello_world-2.2之简单设备驱动模型(二)---device,bus,driver结构介绍
- Ubuntu查看usb设备驱动/usb以太网卡设备驱动
- I2C设备驱动编写,struct i2c_device_id,struct i2c_driver,i2c_add_driver,i2c_register_board_info
- 加载网卡驱动,显示Unknown symbol netpoll_trap