|
@@ -23,10 +23,11 @@ static int legacy_registered = 0;
|
23
|
23
|
|
24
|
24
|
static int legacy_transmit ( struct net_device *netdev, struct io_buffer *iobuf ) {
|
25
|
25
|
struct nic *nic = netdev->priv;
|
26
|
|
- struct ethhdr *ethhdr = iobuf->data;
|
|
26
|
+ struct ethhdr *ethhdr;
|
27
|
27
|
|
28
|
28
|
DBG ( "Transmitting %d bytes\n", iob_len ( iobuf ) );
|
29
|
29
|
iob_pad ( iobuf, ETH_ZLEN );
|
|
30
|
+ ethhdr = iobuf->data;
|
30
|
31
|
iob_pull ( iobuf, sizeof ( *ethhdr ) );
|
31
|
32
|
nic->nic_op->transmit ( nic, ( const char * ) ethhdr->h_dest,
|
32
|
33
|
ntohs ( ethhdr->h_protocol ),
|