EL_START_XMIT

Section: (9)
Updated: 09 October 2005
Index Return to Main Contents

 

NAME

el_start_xmit -  

SYNOPSIS

"SYNOPSIS"

int el_start_xmit (struct sk_buff * skb, struct net_device * dev);  

ARGUMENTS

skb
The packet that is queued to be sent
dev
The 3c501 card we want to throw it down
 

DESCRIPTION

Attempt to send a packet to a 3c501 card. There are some interesting catches here because the 3c501 is an extremely old and therefore stupid piece of technology.

If we are handling an interrupt on the other CPU we cannot load a packet as we may still be attempting to retrieve the last RX packet buffer.

When a transmit times out we dump the card into control mode and just start again. It happens enough that it isnt worth logging.

We avoid holding the spin locks when doing the packet load to the board. The device is very slow, and its DMA mode is even slower. If we held the lock while loading 1500 bytes onto the controller we would drop a lot of serial port characters. This requires we do extra locking, but we have no real choice.


 

Index

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION

This document was created by man2html, using the manual pages.
Time: 00:02:07 GMT, October 09, 2005