mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-25 02:50:17 +00:00
[3c90x] Don't round up transmit packet length
The 3c90x B and C revisions support rounding up the packet length to a specific boundary. Disable this feature to avoid overlength packets. This fixes the loopback test. Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
b324a9c243
commit
e5f6471525
@ -346,11 +346,12 @@ static int a3c90x_transmit(struct net_device *netdev,
|
||||
tx_cur_desc->DnNextPtr = 0;
|
||||
|
||||
/* FrameStartHeader differs in 90x and >= 90xB
|
||||
* It contains length in 90x and a round up boundary and packet ID for
|
||||
* 90xB and 90xC. We can leave this to 0 for 90xB and 90xC.
|
||||
* It contains the packet length in 90x and a round up boundary and
|
||||
* packet ID for 90xB and 90xC. Disable packet length round-up on the
|
||||
* later revisions.
|
||||
*/
|
||||
tx_cur_desc->FrameStartHeader =
|
||||
fshTxIndicate | (inf_3c90x->isBrev ? 0x00 : len);
|
||||
fshTxIndicate | (inf_3c90x->isBrev ? fshRndupDefeat : len);
|
||||
|
||||
tx_cur_desc->DataAddr = virt_to_bus(iob->data);
|
||||
tx_cur_desc->DataLength = len | downLastFrag;
|
||||
|
@ -202,6 +202,7 @@ enum GlobalResetParams {
|
||||
enum FrameStartHeader {
|
||||
fshTxIndicate = 0x8000,
|
||||
fshDnComplete = 0x10000,
|
||||
fshRndupDefeat = 0x10000000,
|
||||
};
|
||||
|
||||
enum UpDownDesc {
|
||||
|
Loading…
Reference in New Issue
Block a user