It is valid to pass &gphy->rfatt and &gphy->bbatt as rfatt and bbatt
pointer arguments to the function. So we have to use memmove for the
possibly overlapping memory areas.
Signed-off-by: Michael Buesch <[EMAIL PROTECTED]>
---
John, since we have new policies for bugfixes and I can't prove that this
will actually fix something for somebody in real life, please queue for
the next merge window.
Index: wireless-testing/drivers/net/wireless/b43/phy_g.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/b43/phy_g.c 2008-08-28
19:03:11.000000000 +0200
+++ wireless-testing/drivers/net/wireless/b43/phy_g.c 2008-08-28
19:08:13.000000000 +0200
@@ -229,17 +229,18 @@ void b43_set_txpower_g(struct b43_wldev
rf = rfatt->att;
tx_bias = lo->tx_bias;
tx_magn = lo->tx_magn;
if (unlikely(tx_bias == 0xFF))
tx_bias = 0;
- /* Save the values for later */
+ /* Save the values for later. Use memmove, because it's valid
+ * to pass &gphy->rfatt as rfatt pointer argument. Same for bbatt. */
gphy->tx_control = tx_control;
- memcpy(&gphy->rfatt, rfatt, sizeof(*rfatt));
+ memmove(&gphy->rfatt, rfatt, sizeof(*rfatt));
gphy->rfatt.with_padmix = !!(tx_control & B43_TXCTL_TXMIX);
- memcpy(&gphy->bbatt, bbatt, sizeof(*bbatt));
+ memmove(&gphy->bbatt, bbatt, sizeof(*bbatt));
if (b43_debug(dev, B43_DBG_XMITPOWER)) {
b43dbg(dev->wl, "Tuning TX-power to bbatt(%u), "
"rfatt(%u), tx_control(0x%02X), "
"tx_bias(0x%02X), tx_magn(0x%02X)\n",
bb, rf, tx_control, tx_bias, tx_magn);
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev