lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200612152045.36135.mb@bu3sch.de>
Date:	Fri, 15 Dec 2006 20:45:35 +0100
From:	Michael Buesch <mb@...sch.de>
To:	Jiri Benc <jbenc@...e.cz>
Cc:	John Linville <linville@...driver.com>, netdev@...r.kernel.org,
	prism54-private@...sm54.org
Subject: [PATCH] p54: Fix compilation for d80211 hwmode API change

This fixes compilation for the d80211 hwmode API change.

Signed-off-by: Michael Buesch <mb@...sch.de>


Index: jbenc-dscape/drivers/net/wireless/d80211/p54/prism54.h
===================================================================
--- jbenc-dscape.orig/drivers/net/wireless/d80211/p54/prism54.h	2006-12-15 15:58:04.000000000 +0100
+++ jbenc-dscape/drivers/net/wireless/d80211/p54/prism54.h	2006-12-15 18:52:50.000000000 +0100
@@ -64,7 +64,7 @@ struct p54_common {
 	/* FIXME: this channels/modes/rates stuff sucks */
 	struct ieee80211_channel channels[14];
 	struct ieee80211_rate rates[12];
-	struct ieee80211_hw_modes modes[2];
+	struct ieee80211_hw_mode modes[2];
 };
 
 int p54_rx(struct ieee80211_hw *dev, struct sk_buff *skb);
Index: jbenc-dscape/drivers/net/wireless/d80211/p54/prism54common.c
===================================================================
--- jbenc-dscape.orig/drivers/net/wireless/d80211/p54/prism54common.c	2006-12-15 15:58:04.000000000 +0100
+++ jbenc-dscape/drivers/net/wireless/d80211/p54/prism54common.c	2006-12-15 18:53:42.000000000 +0100
@@ -742,9 +742,6 @@ struct ieee80211_hw *p54_init_common(siz
 	dev->channel_change_time = 1000;	/* TODO: find actual value */
 	dev->maxssi = 100; // just to avoid dividing by zero
 
-	dev->num_modes = 2;
-	dev->modes = priv->modes;
-
 	dev->queues = 1;
 	dev->extra_tx_headroom = sizeof(struct p54_control_hdr) + 4 +
 				 sizeof(struct p54_tx_control_allocdata);
Index: jbenc-dscape/drivers/net/wireless/d80211/p54/prism54pci.c
===================================================================
--- jbenc-dscape.orig/drivers/net/wireless/d80211/p54/prism54pci.c	2006-12-15 15:58:04.000000000 +0100
+++ jbenc-dscape/drivers/net/wireless/d80211/p54/prism54pci.c	2006-12-15 18:59:33.000000000 +0100
@@ -505,7 +505,7 @@ static int __devinit p54p_probe(struct p
 	struct p54p_priv *priv;
 	struct ieee80211_hw *dev;
 	unsigned long mem_addr, mem_len;
-	int err;
+	int i, err;
 
 	err = pci_enable_device(pdev);
 	if (err) {
@@ -596,12 +596,23 @@ static int __devinit p54p_probe(struct p
 		       pci_name(pdev));
 		goto err_free_desc;
 	}
+	for (i = 0; i < 2; i++) {
+		err = ieee80211_register_hwmode(dev, &priv->common.modes[i]);
+		if (err) {
+			printk(KERN_ERR "%s (prism54pci): Cannot register hwmode\n",
+				pci_name(pdev));
+			goto err_unreg_hw;
+		}
+	}
 
 	printk(KERN_INFO "wiphy%d: hwaddr " MAC_FMT ", isl38%02x\n",
 	       dev->index, MAC_ARG(dev->perm_addr), priv->common.version);
 
 	return 0;
 
+ err_unreg_hw:
+	ieee80211_unregister_hw(dev);
+
  err_free_desc:
 	p54_free_common(dev);
 	pci_free_consistent(pdev, sizeof(*priv->ring_control),
Index: jbenc-dscape/drivers/net/wireless/d80211/p54/prism54usb.c
===================================================================
--- jbenc-dscape.orig/drivers/net/wireless/d80211/p54/prism54usb.c	2006-12-15 15:58:04.000000000 +0100
+++ jbenc-dscape/drivers/net/wireless/d80211/p54/prism54usb.c	2006-12-15 19:00:39.000000000 +0100
@@ -893,12 +893,22 @@ static int __devinit p54u_probe(struct u
 		printk(KERN_ERR "prism54usb: Cannot register netdevice\n");
 		goto err_free_dev;
 	}
+	for (i = 0; i < 2; i++) {
+		err = ieee80211_register_hwmode(dev, &priv->common.modes[i]);
+		if (err) {
+			printk(KERN_ERR "prism54usb: Cannot register hwmode\n");
+			goto err_unreg_hw;
+		}
+	}
 
 	printk(KERN_INFO "wiphy%d: hwaddr " MAC_FMT ", isl38%02x\n",
 	       dev->index, MAC_ARG(dev->perm_addr), priv->common.version);
 
 	return 0;
 
+ err_unreg_hw:
+	ieee80211_unregister_hw(dev);
+
  err_free_dev:
 	ieee80211_free_hw(dev);
 	usb_set_intfdata(intf, NULL);

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ