mirror of
https://github.com/u-boot/u-boot.git
synced 2025-01-24 19:53:25 +08:00
mpc83xx: Fix alternating tx error / tx buffer not ready bug in QE UEC
The problem is not gcc4 but the code itself. The BD_STATUS() macro can't be used for busy-waiting since it strips the 'volatile' property from the bd variable. gcc3 was working by pure luck. This is a follow on patch to "Fix the UEC driver bug of QE"
This commit is contained in:
parent
3e78a31cfe
commit
a28899c910
@ -1148,7 +1148,7 @@ static int uec_send(struct eth_device* dev, volatile void *buf, int len)
|
||||
/* Init TxBD */
|
||||
BD_DATA_SET(bd, buf);
|
||||
BD_LENGTH_SET(bd, len);
|
||||
status = BD_STATUS(bd);
|
||||
status = bd->status;
|
||||
status &= BD_WRAP;
|
||||
status |= (TxBD_READY | TxBD_LAST);
|
||||
BD_STATUS_SET(bd, status);
|
||||
|
Loading…
Reference in New Issue
Block a user