|
@@ -346,11 +346,12 @@ static int a3c90x_transmit(struct net_device *netdev,
|
346
|
346
|
tx_cur_desc->DnNextPtr = 0;
|
347
|
347
|
|
348
|
348
|
/* FrameStartHeader differs in 90x and >= 90xB
|
349
|
|
- * It contains length in 90x and a round up boundary and packet ID for
|
350
|
|
- * 90xB and 90xC. We can leave this to 0 for 90xB and 90xC.
|
|
349
|
+ * It contains the packet length in 90x and a round up boundary and
|
|
350
|
+ * packet ID for 90xB and 90xC. Disable packet length round-up on the
|
|
351
|
+ * later revisions.
|
351
|
352
|
*/
|
352
|
353
|
tx_cur_desc->FrameStartHeader =
|
353
|
|
- fshTxIndicate | (inf_3c90x->isBrev ? 0x00 : len);
|
|
354
|
+ fshTxIndicate | (inf_3c90x->isBrev ? fshRndupDefeat : len);
|
354
|
355
|
|
355
|
356
|
tx_cur_desc->DataAddr = virt_to_bus(iob->data);
|
356
|
357
|
tx_cur_desc->DataLength = len | downLastFrag;
|