Skip to contentSkip to conversation

b43legacy: fix possible buffer overrun in debugfs

PATCH New Stefano Brivio 1 participant 6 messages Nov 6, 2007 1 message not in the archive Networking drivers (wireless)

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20071106222313.31e9bcd9@morte

#1 lore raw

PATCH 2/7 b43legacy: use a consistent naming scheme for the ops

Use a consistent naming scheme for the ops.

The patch to b43 by Michael Buesch <[email protected]> has been ported to b43legacy.

----

drivers/net/wireless/b43legacy/main.c +37 -37
Index: wireless-2.6/drivers/net/wireless/b43legacy/main.c
===================================================================
@@ -2285,9 +2285,9 @@ static int b43legacy_rng_init(struct b43
 	return err;
 }
 
-static int b43legacy_tx(struct ieee80211_hw *hw,
-			struct sk_buff *skb,
-			struct ieee80211_tx_control *ctl)
+static int b43legacy_op_tx(struct ieee80211_hw *hw,
+			   struct sk_buff *skb,
+			   struct ieee80211_tx_control *ctl)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -2311,15 +2311,15 @@ out:
 	return NETDEV_TX_OK;
 }
 
-static int b43legacy_conf_tx(struct ieee80211_hw *hw,
-			     int queue,
-			     const struct ieee80211_tx_queue_params *params)
+static int b43legacy_op_conf_tx(struct ieee80211_hw *hw,
+				int queue,
+				const struct ieee80211_tx_queue_params *params)
 {
 	return 0;
 }
 
-static int b43legacy_get_tx_stats(struct ieee80211_hw *hw,
-				  struct ieee80211_tx_queue_stats *stats)
+static int b43legacy_op_get_tx_stats(struct ieee80211_hw *hw,
+				     struct ieee80211_tx_queue_stats *stats)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -2341,8 +2341,8 @@ out:
 	return err;
 }
 
-static int b43legacy_get_stats(struct ieee80211_hw *hw,
-			       struct ieee80211_low_level_stats *stats)
+static int b43legacy_op_get_stats(struct ieee80211_hw *hw,
+				  struct ieee80211_low_level_stats *stats)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	unsigned long flags;
@@ -2491,8 +2491,8 @@ static int b43legacy_antenna_from_ieee80
 	}
 }
 
-static int b43legacy_dev_config(struct ieee80211_hw *hw,
-				struct ieee80211_conf *conf)
+static int b43legacy_op_dev_config(struct ieee80211_hw *hw,
+				   struct ieee80211_conf *conf)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev;
@@ -2595,11 +2595,11 @@ out_unlock_mutex:
 	return err;
 }
 
-static void b43legacy_configure_filter(struct ieee80211_hw *hw,
-				       unsigned int changed,
-				       unsigned int *fflags,
-				       int mc_count,
-				       struct dev_addr_list *mc_list)
+static void b43legacy_op_configure_filter(struct ieee80211_hw *hw,
+					  unsigned int changed,
+					  unsigned int *fflags,
+					  int mc_count,
+					  struct dev_addr_list *mc_list)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -2634,9 +2634,9 @@ static void b43legacy_configure_filter(s
 	spin_unlock_irqrestore(&wl->irq_lock, flags);
 }
 
-static int b43legacy_config_interface(struct ieee80211_hw *hw,
-				      int if_id,
-				      struct ieee80211_if_conf *conf)
+static int b43legacy_op_config_interface(struct ieee80211_hw *hw,
+					 int if_id,
+					 struct ieee80211_if_conf *conf)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -3141,8 +3141,8 @@ err_kfree_lo_control:
 	return err;
 }
 
-static int b43legacy_add_interface(struct ieee80211_hw *hw,
-				   struct ieee80211_if_init_conf *conf)
+static int b43legacy_op_add_interface(struct ieee80211_hw *hw,
+				      struct ieee80211_if_init_conf *conf)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev;
@@ -3181,8 +3181,8 @@ static int b43legacy_add_interface(struc
 	return err;
 }
 
-static void b43legacy_remove_interface(struct ieee80211_hw *hw,
-				       struct ieee80211_if_init_conf *conf)
+static void b43legacy_op_remove_interface(struct ieee80211_hw *hw,
+					  struct ieee80211_if_init_conf *conf)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -3206,7 +3206,7 @@ static void b43legacy_remove_interface(s
 	mutex_unlock(&wl->mutex);
 }
 
-static int b43legacy_start(struct ieee80211_hw *hw)
+static int b43legacy_op_start(struct ieee80211_hw *hw)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -3237,7 +3237,7 @@ out_mutex_unlock:
 	return err;
 }
 
-static void b43legacy_stop(struct ieee80211_hw *hw)
+static void b43legacy_op_stop(struct ieee80211_hw *hw)
 {
 	struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
 	struct b43legacy_wldev *dev = wl->current_dev;
@@ -3272,17 +3272,17 @@ out_unlock:
 }
 
 static const struct ieee80211_ops b43legacy_hw_ops = {
-	.tx			= b43legacy_tx,
-	.conf_tx		= b43legacy_conf_tx,
-	.add_interface		= b43legacy_add_interface,
-	.remove_interface	= b43legacy_remove_interface,
-	.config			= b43legacy_dev_config,
-	.config_interface	= b43legacy_config_interface,
-	.configure_filter	= b43legacy_configure_filter,
-	.get_stats		= b43legacy_get_stats,
-	.get_tx_stats		= b43legacy_get_tx_stats,
-	.start			= b43legacy_start,
-	.stop			= b43legacy_stop,
+	.tx			= b43legacy_op_tx,
+	.conf_tx		= b43legacy_op_conf_tx,
+	.add_interface		= b43legacy_op_add_interface,
+	.remove_interface	= b43legacy_op_remove_interface,
+	.config			= b43legacy_op_dev_config,
+	.config_interface	= b43legacy_op_config_interface,
+	.configure_filter	= b43legacy_op_configure_filter,
+	.get_stats		= b43legacy_op_get_stats,
+	.get_tx_stats		= b43legacy_op_get_tx_stats,
+	.start			= b43legacy_op_start,
+	.stop			= b43legacy_op_stop,
 	.set_retry_limit	= b43legacy_op_set_retry_limit,
 };
 
Signature · 2 lines
Ciao
Stefano
#2 lore raw

PATCH 3/7 b43legacy: fix possible buffer overrun in debugfs

In reply to a message not in the archive

Fix possible buffer overrun.

The patch to b43 by Michael Buesch <[email protected]> has been ported to b43legacy.

----

drivers/net/wireless/b43legacy/debugfs.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/debugfs.c
===================================================================
@@ -124,7 +124,7 @@ static ssize_t shm_read_file(struct b43l
 	__le16 *le16buf = (__le16 *)buf;
 
 	for (i = 0; i < 0x1000; i++) {
-		if (bufsize <= 0)
+		if (bufsize < sizeof(tmp))
 			break;
 		tmp = b43legacy_shm_read16(dev, B43legacy_SHM_SHARED, 2 * i);
 		le16buf[i] = cpu_to_le16(tmp);
Signature · 6 lines
Ciao
Stefano

-- 
Ciao
Stefano
#3 lore raw

PATCH 4/7 b43legacy: rewrite and fix rfkill initialization

In reply to a message not in the archive

The rfkill subsystem doesn't like code like that
rfkill_allocate();
rfkill_register();
rfkill_unregister();
rfkill_register(); /* <- This will crash */

This sequence happens with
modprobe b43
ifconfig wlanX up
ifconfig wlanX down
ifconfig wlanX up

Fix this by always re-allocating the rfkill stuff before register.

The patch to b43 by Michael Buesch <[email protected]> has been ported to b43legacy.

----

drivers/net/wireless/b43legacy/rfkill.c +10 -14
Index: wireless-2.6/drivers/net/wireless/b43legacy/rfkill.c
===================================================================
@@ -48,18 +48,21 @@ static void b43legacy_rfkill_poll(struct
 	struct b43legacy_wldev *dev = poll_dev->private;
 	struct b43legacy_wl *wl = dev->wl;
 	bool enabled;
+	bool report_change = 0;
 
 	mutex_lock(&wl->mutex);
 	B43legacy_WARN_ON(b43legacy_status(dev) < B43legacy_STAT_INITIALIZED);
 	enabled = b43legacy_is_hw_radio_enabled(dev);
 	if (unlikely(enabled != dev->radio_hw_enable)) {
 		dev->radio_hw_enable = enabled;
+		report_change = 1;
 		b43legacyinfo(wl, "Radio hardware status changed to %s\n",
 			enabled ? "ENABLED" : "DISABLED");
-		mutex_unlock(&wl->mutex);
+	}
+	mutex_unlock(&wl->mutex);
+
+	if (unlikely(report_change))
 		input_report_key(poll_dev->input, KEY_WLAN, enabled);
-	} else
-		mutex_unlock(&wl->mutex);
 }
 
 /* Called when the RFKILL toggled in software. */
@@ -69,18 +72,11 @@ static int b43legacy_rfkill_soft_toggle(
 	struct b43legacy_wl *wl = dev->wl;
 	int err = 0;
 
-	/* When RFKILL is registered, it will call back into this callback.
-	 * wl->mutex will already be locked when this happens.
-	 * So first trylock. On contention check if we are in initialization.
-	 * Silently return if that happens to avoid a deadlock. */
-	if (mutex_trylock(&wl->mutex) == 0) {
-		if (b43legacy_status(dev) < B43_STAT_INITIALIZED)
-			return 0;
-		mutex_lock(&wl->mutex);
-	}
-	if (b43legacy_status(dev) < B43legacy_STAT_INITIALIZED)
-		goto out_unlock;
+	if (!wl->rfkill.registered)
+		return 0;
 
+	mutex_lock(&wl->mutex);
+	B43legacy_WARN_ON(b43legacy_status(dev) < B43legacy_STAT_INITIALIZED);
 	switch (state) {
 	case RFKILL_STATE_ON:
 		if (!dev->radio_hw_enable) {
drivers/net/wireless/b43legacy/rfkill.h +4 -4
Index: wireless-2.6/drivers/net/wireless/b43legacy/rfkill.h
===================================================================
@@ -16,14 +16,14 @@ struct b43legacy_rfkill {
 	struct rfkill *rfkill;
 	/* The poll device for the RFKILL input button */
 	struct input_polled_dev *poll_dev;
+	/* Did initialization succeed? Used for freeing. */
+	bool registered;
 	/* The unique name of this rfkill switch */
-	char name[32];
+	char name[sizeof("b43legacy-phy4294967295")];
 };
 
-/* All the init functions return void, because we are not interested
+/* The init function returns void, because we are not interested
  * in failing the b43 init process when rfkill init failed. */
-void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev);
-void b43legacy_rfkill_free(struct b43legacy_wldev *dev);
 void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
 void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
 
drivers/net/wireless/b43legacy/main.c +0 -2
Index: wireless-2.6/drivers/net/wireless/b43legacy/rfkill.h
===================================================================
@@ -3360,7 +3381,6 @@ static int b43legacy_setup_modes(struct b43legacy_wldev *dev,
 
 static void b43legacy_wireless_core_detach(struct b43legacy_wldev *dev)
 {
-	b43legacy_rfkill_free(dev);
 	/* We release firmware that late to not be required to re-request
 	 * is all the time when we reinit the core. */
 	b43legacy_release_firmware(dev);
@@ -3442,7 +3462,6 @@ static int b43legacy_wireless_core_attach(struct b43legacy_wldev *dev)
 	if (!wl->current_dev)
 		wl->current_dev = dev;
 	INIT_WORK(&dev->restart_work, b43legacy_chip_reset);
-	b43legacy_rfkill_alloc(dev);
 
 	b43legacy_radio_turn_off(dev, 1);
 	b43legacy_switch_analog(dev, 0);
Signature · 2 lines
Ciao
Stefano
#4 lore raw

PATCH 5/7 b43legacy: add me as maintainer and fix URLs

In reply to a message not in the archive

As b43legacy is going to be orphaned, add me as a maintainer. Fix URLs for the related website and fix my e-mail address in MAINTAINERS file.

----

MAINTAINERS +6 -4
Index: wireless-2.6/MAINTAINERS
===================================================================
@@ -798,23 +798,25 @@ B43 WIRELESS DRIVER
 P:	Michael Buesch
 M:	[email protected]
 P:	Stefano Brivio
-M:	[email protected]
+M:	[email protected]
 L:	[email protected]
-W:	http://bcm43xx.berlios.de/
+W:	http://linuxwireless.org/en/users/Drivers/b43
 S:	Maintained
 
 B43LEGACY WIRELESS DRIVER
 P:	Larry Finger
 M:	[email protected]
+P:	Stefano Brivio
+M:	[email protected]
 L:	[email protected]
-W:	http://bcm43xx.berlios.de/
+W:	http://linuxwireless.org/en/users/Drivers/b43
 S:	Maintained
 
 BCM43XX WIRELESS DRIVER (SOFTMAC BASED VERSION)
 P:	Larry Finger
 M:	[email protected]
 P:	Stefano Brivio
-M:	[email protected]
+M:	[email protected]
 L:	[email protected]
 W:	http://bcm43xx.berlios.de/
 S:	Maintained
Signature · 2 lines
Ciao
Stefano
#5 lore raw

PATCH 6/7 b43: rewrite A PHY initialization

In reply to a message not in the archive

Rewrite and sync A PHY initialization with specs, thus allowing for further work to be done on 802.11a support. Note that A PHY initialization involves G PHYs as well.

----

drivers/net/wireless/b43/Makefile +1 -0
Index: wireless-2.6/drivers/net/wireless/b43/Makefile
===================================================================
@@ -5,6 +5,7 @@ b43-y				+= phy.o
 b43-y				+= sysfs.o
 b43-y				+= xmit.o
 b43-y				+= lo.o
+b43-y				+= wa.o
 # b43 RFKILL button support
 b43-$(CONFIG_B43_RFKILL)	+= rfkill.o
 # b43 LED support
drivers/net/wireless/b43/b43.h +4 -0
Index: wireless-2.6/drivers/net/wireless/b43/b43.h
===================================================================
@@ -542,6 +542,10 @@ struct b43_phy {
 	u16 lofcal;
 
 	u16 initval;		//FIXME rename?
+
+	/* OFDM address read/write caching for hardware auto-increment. */
+	u16 ofdm_addr;
+	u8 ofdm_valid; /* 0: invalid, 1: read, 2: write */
 };
 
 /* Data structures for DMA transmission, per 80211 core. */
drivers/net/wireless/b43/main.c +3 -0
Index: wireless-2.6/drivers/net/wireless/b43/main.c
===================================================================
@@ -2256,6 +2256,9 @@ static int b43_chip_init(struct b43_wlde
 	b43_write16(dev, B43_MMIO_POWERUP_DELAY,
 		    dev->dev->bus->chipco.fast_pwrup_delay);
 
+	/* OFDM address caching. */
+	phy->ofdm_valid = 0;
+
 	err = 0;
 	b43dbg(dev->wl, "Chip initialized\n");
 out:
drivers/net/wireless/b43/phy.c +120 -428

599 lines not on this page · raw message

drivers/net/wireless/b43/phy.h +14 -4
Index: wireless-2.6/drivers/net/wireless/b43/phy.h
===================================================================
@@ -27,8 +27,11 @@ struct b43_phy;
 #define B43_PHY_PWRDOWN			B43_PHY_OFDM(0x03)	/* Powerdown */
 #define B43_PHY_CRSTHRES1		B43_PHY_OFDM(0x06)	/* CRS Threshold 1 */
 #define B43_PHY_LNAHPFCTL		B43_PHY_OFDM(0x1C)	/* LNA/HPF control */
+#define B43_PHY_LPFGAINCTL		B43_PHY_OFDM(0x20)	/* LPF Gain control */
 #define B43_PHY_ADIVRELATED		B43_PHY_OFDM(0x27)	/* FIXME rename */
 #define B43_PHY_CRS0			B43_PHY_OFDM(0x29)
+#define  B43_PHY_CRS0_EN		0x4000
+#define B43_PHY_PEAK_COUNT		B43_PHY_OFDM(0x30)
 #define B43_PHY_ANTDWELL		B43_PHY_OFDM(0x2B)	/* Antenna dwell */
 #define  B43_PHY_ANTDWELL_AUTODIV1	0x0100	/* Automatic RX diversity start antenna */
 #define B43_PHY_ENCORE			B43_PHY_OFDM(0x49)	/* "Encore" (RangeMax / BroadRange) */
@@ -37,6 +40,7 @@ struct b43_phy;
 #define B43_PHY_OFDM61			B43_PHY_OFDM(0x61)	/* FIXME rename */
 #define  B43_PHY_OFDM61_10		0x0010	/* FIXME rename */
 #define B43_PHY_IQBAL			B43_PHY_OFDM(0x69)	/* I/Q balance */
+#define B43_PHY_BBTXDC_BIAS		B43_PHY_OFDM(0x6B)	/* Baseband TX DC bias */
 #define B43_PHY_OTABLECTL		B43_PHY_OFDM(0x72)	/* OFDM table control (see below) */
 #define  B43_PHY_OTABLEOFF		0x03FF	/* OFDM table offset (see below) */
 #define  B43_PHY_OTABLENR		0xFC00	/* OFDM table number (see below) */
@@ -44,6 +48,9 @@ struct b43_phy;
 #define B43_PHY_OTABLEI			B43_PHY_OFDM(0x73)	/* OFDM table data I */
 #define B43_PHY_OTABLEQ			B43_PHY_OFDM(0x74)	/* OFDM table data Q */
 #define B43_PHY_HPWR_TSSICTL		B43_PHY_OFDM(0x78)	/* Hardware power TSSI control */
+#define B43_PHY_ADCCTL			B43_PHY_OFDM(0x7A)	/* ADC control */
+#define B43_PHY_IDLE_TSSI		B43_PHY_OFDM(0x7B)
+#define B43_PHY_A_TEMP_SENSE		B43_PHY_OFDM(0x7C)	/* A PHY temperature sense */
 #define B43_PHY_NRSSITHRES		B43_PHY_OFDM(0x8A)	/* NRSSI threshold */
 #define B43_PHY_ANTWRSETT		B43_PHY_OFDM(0x8C)	/* Antenna WR settle */
 #define  B43_PHY_ANTWRSETT_ARXDIV	0x2000	/* Automatic RX diversity enabled */
@@ -54,6 +61,8 @@ struct b43_phy;
 #define B43_PHY_N1N2GAIN		B43_PHY_OFDM(0xA2)
 #define B43_PHY_CLIPTHRES		B43_PHY_OFDM(0xA3)
 #define B43_PHY_CLIPN1P2THRES		B43_PHY_OFDM(0xA4)
+#define B43_PHY_CCKSHIFTBITS_WA		B43_PHY_OFDM(0xA5)	/* CCK shiftbits workaround, FIXME rename */
+#define B43_PHY_CCKSHIFTBITS		B43_PHY_OFDM(0xA7)	/* FIXME rename */
 #define B43_PHY_DIVSRCHIDX		B43_PHY_OFDM(0xA8)	/* Divider search gain/index */
 #define B43_PHY_CLIPP2THRES		B43_PHY_OFDM(0xA9)
 #define B43_PHY_CLIPP3THRES		B43_PHY_OFDM(0xAA)
@@ -125,13 +134,14 @@ struct b43_phy;
 #define B43_OFDMTAB_DC			B43_OFDMTAB(0x0E, 7)
 #define B43_OFDMTAB_PWRDYN2		B43_OFDMTAB(0x0E, 12)
 #define B43_OFDMTAB_LNAGAIN		B43_OFDMTAB(0x0E, 13)
-//TODO
+#define B43_OFDMTAB_UNKNOWN_0F		B43_OFDMTAB(0x0F, 0)	//TODO rename
+#define B43_OFDMTAB_UNKNOWN_APHY	B43_OFDMTAB(0x0F, 7)	//TODO rename
 #define B43_OFDMTAB_LPFGAIN		B43_OFDMTAB(0x0F, 12)
 #define B43_OFDMTAB_RSSI		B43_OFDMTAB(0x10, 0)
-//TODO
+#define B43_OFDMTAB_UNKNOWN_11		B43_OFDMTAB(0x11, 4)	//TODO rename
 #define B43_OFDMTAB_AGC1_R1		B43_OFDMTAB(0x13, 0)
-#define B43_OFDMTAB_GAINX_R1		B43_OFDMTAB(0x14, 0)	//TODO rename
-#define B43_OFDMTAB_MINSIGSQ		B43_OFDMTAB(0x14, 1)
+#define B43_OFDMTAB_GAINX_R1		B43_OFDMTAB(0x14, 0)	//TODO remove!
+#define B43_OFDMTAB_MINSIGSQ		B43_OFDMTAB(0x14, 0)
 #define B43_OFDMTAB_AGC3_R1		B43_OFDMTAB(0x15, 0)
 #define B43_OFDMTAB_WRSSI_R1		B43_OFDMTAB(0x15, 4)
 #define B43_OFDMTAB_TSSI		B43_OFDMTAB(0x15, 0)
drivers/net/wireless/b43/tables.c +90 -11

161 lines not on this page · raw message

drivers/net/wireless/b43/tables.h +9 -3
Index: wireless-2.6/drivers/net/wireless/b43/tables.h
===================================================================
@@ -1,9 +1,9 @@
 #ifndef B43_TABLES_H_
 #define B43_TABLES_H_
 
-#define B43_TAB_ROTOR_SIZE		53
+#define B43_TAB_ROTOR_SIZE	53
 extern const u32 b43_tab_rotor[];
-#define B43_TAB_RETARD_SIZE		53
+#define B43_TAB_RETARD_SIZE	53
 extern const u32 b43_tab_retard[];
 #define B43_TAB_FINEFREQA_SIZE	256
 extern const u16 b43_tab_finefreqa[];
@@ -17,12 +17,18 @@ extern const u16 b43_tab_noisea3[];
 extern const u16 b43_tab_noiseg1[];
 #define B43_TAB_NOISEG2_SIZE	8
 extern const u16 b43_tab_noiseg2[];
-#define B43_TAB_NOISESCALEG_SIZE	27
+#define B43_TAB_NOISESCALE_SIZE	27
+extern const u16 b43_tab_noisescalea2[];
+extern const u16 b43_tab_noisescalea3[];
 extern const u16 b43_tab_noisescaleg1[];
 extern const u16 b43_tab_noisescaleg2[];
 extern const u16 b43_tab_noisescaleg3[];
 #define B43_TAB_SIGMASQR_SIZE	53
 extern const u16 b43_tab_sigmasqr1[];
 extern const u16 b43_tab_sigmasqr2[];
+#define B43_TAB_RSSIAGC1_SIZE	16
+extern const u16 b43_tab_rssiagc1[];
+#define B43_TAB_RSSIAGC2_SIZE	48
+extern const u16 b43_tab_rssiagc2[];
 
 #endif /* B43_TABLES_H_ */
drivers/net/wireless/b43/wa.c new file +668 -0

668 lines not on this page · raw message

drivers/net/wireless/b43/wa.h new file +7 -0
Index: wireless-2.6/drivers/net/wireless/b43/wa.h
===================================================================
@@ -0,0 +1,7 @@
+#ifndef B43_WA_H_
+#define B43_WA_H_
+
+void b43_wa_initgains(struct b43_wldev *dev);
+void b43_wa_all(struct b43_wldev *dev);
+
+#endif /* B43_WA_H_ */

--
Ciao
Stefano

#6 lore raw

PATCH 7/7 b43/b43legacy: fix my copyright notices

In reply to a message not in the archive

Fix my copyright notices in b43 and b43legacy.

----

drivers/net/wireless/b43/leds.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/leds.c
===================================================================
@@ -4,7 +4,7 @@
   LED control
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005 Stefano Brivio <[email protected]>
+  Copyright (c) 2005 Stefano Brivio <[email protected]>
   Copyright (c) 2005-2007 Michael Buesch <[email protected]>
   Copyright (c) 2005 Danny van Dyk <[email protected]>
   Copyright (c) 2005 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43/lo.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/lo.c
===================================================================
@@ -5,7 +5,7 @@
   G PHY LO (LocalOscillator) Measuring and Control routines
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005, 2006 Stefano Brivio <[email protected]>
+  Copyright (c) 2005, 2006 Stefano Brivio <[email protected]>
   Copyright (c) 2005-2007 Michael Buesch <[email protected]>
   Copyright (c) 2005, 2006 Danny van Dyk <[email protected]>
   Copyright (c) 2005, 2006 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43/main.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/main.c
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43 wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>
-  Copyright (c) 2005 Stefano Brivio <[email protected]>
+  Copyright (c) 2005 Stefano Brivio <[email protected]>
   Copyright (c) 2005, 2006 Michael Buesch <[email protected]>
   Copyright (c) 2005 Danny van Dyk <[email protected]>
   Copyright (c) 2005 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43/main.h +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/main.h
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43 wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-                     Stefano Brivio <[email protected]>
+                     Stefano Brivio <[email protected]>
                      Michael Buesch <[email protected]>
                      Danny van Dyk <[email protected]>
                      Andreas Jaggi <[email protected]>
drivers/net/wireless/b43/phy.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/phy.c
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43 wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005, 2006 Stefano Brivio <[email protected]>
+  Copyright (c) 2005-2007 Stefano Brivio <[email protected]>
   Copyright (c) 2005, 2006 Michael Buesch <[email protected]>
   Copyright (c) 2005, 2006 Danny van Dyk <[email protected]>
   Copyright (c) 2005, 2006 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43/tables.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/tables.c
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43 wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005 Stefano Brivio <[email protected]>
+  Copyright (c) 2005-2007 Stefano Brivio <[email protected]>
   Copyright (c) 2006, 2006 Michael Buesch <[email protected]>
   Copyright (c) 2005 Danny van Dyk <[email protected]>
   Copyright (c) 2005 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43/wa.c +1 -4
Index: wireless-2.6/drivers/net/wireless/b43/wa.c
===================================================================
@@ -4,11 +4,8 @@
 
   PHY workarounds.
 
-  Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005-2007 Stefano Brivio <[email protected]>
+  Copyright (c) 2005-2007 Stefano Brivio <[email protected]>
   Copyright (c) 2005-2007 Michael Buesch <[email protected]>
-  Copyright (c) 2005, 2006 Danny van Dyk <[email protected]>
-  Copyright (c) 2005, 2006 Andreas Jaggi <[email protected]>
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
drivers/net/wireless/b43/xmit.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43/xmit.c
===================================================================
@@ -5,7 +5,7 @@
   Transmission (TX/RX) related functions.
 
   Copyright (C) 2005 Martin Langer <[email protected]>
-  Copyright (C) 2005 Stefano Brivio <[email protected]>
+  Copyright (C) 2005 Stefano Brivio <[email protected]>
   Copyright (C) 2005, 2006 Michael Buesch <[email protected]>
   Copyright (C) 2005 Danny van Dyk <[email protected]>
   Copyright (C) 2005 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/ilt.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/ilt.c
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43legacy wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-		     Stefano Brivio <[email protected]>
+		     Stefano Brivio <[email protected]>
 		     Michael Buesch <[email protected]>
 		     Danny van Dyk <[email protected]>
 		     Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/leds.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/leds.c
===================================================================
@@ -4,7 +4,7 @@
   LED control
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005 Stefano Brivio <[email protected]>
+  Copyright (c) 2005 Stefano Brivio <[email protected]>
   Copyright (c) 2005-2007 Michael Buesch <[email protected]>
   Copyright (c) 2005 Danny van Dyk <[email protected]>
   Copyright (c) 2005 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/main.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/main.c
===================================================================
@@ -3,7 +3,7 @@
  *  Broadcom B43legacy wireless driver
  *
  *  Copyright (c) 2005 Martin Langer <[email protected]>
- *  Copyright (c) 2005 Stefano Brivio <[email protected]>
+ *  Copyright (c) 2005-2007 Stefano Brivio <[email protected]>
  *  Copyright (c) 2005, 2006 Michael Buesch <[email protected]>
  *  Copyright (c) 2005 Danny van Dyk <[email protected]>
  *  Copyright (c) 2005 Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/main.h +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/main.h
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43legacy wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-  Copyright (c) 2005 Stefano Brivio <[email protected]>
+  Copyright (c) 2005 Stefano Brivio <[email protected]>
   Copyright (c) 2005, 2006 Michael Buesch <[email protected]>
   Copyright (c) 2005  Danny van Dyk <[email protected]>
   Copyright (c) 2005  Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/phy.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/phy.c
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43legacy wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-		     Stefano Brivio <[email protected]>
+		     Stefano Brivio <[email protected]>
 		     Michael Buesch <[email protected]>
 		     Danny van Dyk <[email protected]>
      Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/phy.h +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/phy.h
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43legacy wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-		     Stefano Brivio <[email protected]>
+		     Stefano Brivio <[email protected]>
 		     Michael Buesch <[email protected]>
 		     Danny van Dyk <[email protected]>
 		     Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/radio.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/radio.c
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43legacy wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-		     Stefano Brivio <[email protected]>
+		     Stefano Brivio <[email protected]>
 		     Michael Buesch <[email protected]>
 		     Danny van Dyk <[email protected]>
 		     Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/radio.h +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/radio.h
===================================================================
@@ -3,7 +3,7 @@
   Broadcom B43legacy wireless driver
 
   Copyright (c) 2005 Martin Langer <[email protected]>,
-		     Stefano Brivio <[email protected]>
+		     Stefano Brivio <[email protected]>
 		     Michael Buesch <[email protected]>
 		     Danny van Dyk <[email protected]>
 		     Andreas Jaggi <[email protected]>
drivers/net/wireless/b43legacy/xmit.c +1 -1
Index: wireless-2.6/drivers/net/wireless/b43legacy/xmit.c
===================================================================
@@ -5,7 +5,7 @@
   Transmission (TX/RX) related functions.
 
   Copyright (C) 2005 Martin Langer <[email protected]>
-  Copyright (C) 2005 Stefano Brivio <[email protected]>
+  Copyright (C) 2005 Stefano Brivio <[email protected]>
   Copyright (C) 2005, 2006 Michael Buesch <[email protected]>
   Copyright (C) 2005 Danny van Dyk <[email protected]>
   Copyright (C) 2005 Andreas Jaggi <[email protected]>
Signature · 2 lines
Ciao
Stefano