Network Devices, the Kernel, and You! Introduction ============ The following is a random collection of documentation regarding network devices. struct net_device synchronization rules ======================================= dev->open: Synchronization: rtnl_lock() semaphore. Context: process dev->stop: Synchronization: rtnl_lock() semaphore. Context: process Note1: netif_running() is guaranteed false Note2: dev->poll() is guaranteed to be stopped dev->do_ioctl: Synchronization: rtnl_lock() semaphore. Context: process dev->get_stats: Synchronization: dev_base_lock rwlock. Context: nominally process, but don't sleep inside an rwlock dev->hard_start_xmit: Synchronization: dev->xmit_lock spinlock. Context: BHs disabled Notes: netif_queue_stopped() is guaranteed false dev->tx_timeout: Synchronization: dev->xmit_lock spinlock. Context: BHs disabled Notes: netif_queue_stopped() is guaranteed true dev->set_multicast_list: Synchronization: dev->xmit_lock spinlock. Context: BHs disabled dev->poll: Synchronization: __LINK_STATE_RX_SCHED bit in dev->state. See dev_close code and comments in net/core/dev.c for more info. Context: softirqDownload Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.