.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "MC32_SEND_PACKET" "9" "09 October 2005" "" ""
.SH NAME
mc32_send_packet \- queue a frame for transmit
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int mc32_send_packet (struct sk_buff * \fIskb\fB, struct net_device * \fIdev\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIskb\fB\fR
buffer to transmit
.TP
\fB\fIdev\fB\fR
3c527 to send it out of
.SH "DESCRIPTION"
.PP
Transmit a buffer. This normally means throwing the buffer onto
the transmit queue as the queue is quite large. If the queue is
full then we set tx_busy and return. Once the interrupt handler
gets messages telling it to reclaim transmit queue entries, we will
clear tx_busy and the kernel will start calling this again.
.PP
We do not disable interrupts or acquire any locks; this can
run concurrently with \fBmc32_tx_ring\fR, and the function itself
is serialised at a higher layer. However, similarly for the
card itself, we must ensure that we update tx_ring_head only
after we've established a valid packet on the tx ring (and
before we let the card ``see'' it, to prevent it racing with the
irq handler).