Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30ecce90 authored by Al Viro's avatar Al Viro Committed by Jeff Garzik
Browse files

fix endian lossage in forcedeth



a) if you initialize something with le32_to_cpu(...), then |= it
with host-endian and feed to cpu_to_le32(), it's most definitely
*not* __le32.  As sparse would've told you...

b) the whole sequence is |= cpu_to_le32(host-endian constant)

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent e28e3a61
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -2112,9 +2112,8 @@ static inline void nv_tx_flip_ownership(struct net_device *dev)

	np->tx_pkts_in_progress--;
	if (np->tx_change_owner) {
		__le32 flaglen = le32_to_cpu(np->tx_change_owner->first_tx_desc->flaglen);
		flaglen |= NV_TX2_VALID;
		np->tx_change_owner->first_tx_desc->flaglen = cpu_to_le32(flaglen);
		np->tx_change_owner->first_tx_desc->flaglen |=
			cpu_to_le32(NV_TX2_VALID);
		np->tx_pkts_in_progress++;

		np->tx_change_owner = np->tx_change_owner->next_tx_ctx;