aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/prism54
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 20:48:54 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 20:48:54 -0400
commit1f1c2881f673671539b25686df463518d69c4649 (patch)
tree45f4a79f2371ae4525fd621d4b5820732efa161e /drivers/net/wireless/prism54
parent7608a864e5211df1e3c1948e2719aec7c27b9333 (diff)
parentc5e3ae8823693b260ce1f217adca8add1bc0b3de (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (37 commits) forcedeth bug fix: realtek phy forcedeth bug fix: vitesse phy forcedeth bug fix: cicada phy atl1: reorder atl1_main functions atl1: fix excessively indented code atl1: cleanup atl1_main atl1: header file cleanup atl1: remove irq_sem cdc-subset to support new vendor/product ID 8139cp: implement the missing dev->tx_timeout myri10ge: Remove nonsensical limit in the tx done routine gianfar: kill unused header EP93XX_ETH must select MII macb: Add multicast capability macb: Use generic PHY layer s390: add barriers to qeth driver s390: scatter-gather for inbound traffic in qeth driver eHEA: Introducing support vor DLPAR memory add Fix a potential NULL pointer dereference in free_shared_mem() in drivers/net/s2io.c [PATCH] softmac: Fix ESSID problem ...
Diffstat (limited to 'drivers/net/wireless/prism54')
-rw-r--r--drivers/net/wireless/prism54/isl_ioctl.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c
index 283be4a70524..585f5996d292 100644
--- a/drivers/net/wireless/prism54/isl_ioctl.c
+++ b/drivers/net/wireless/prism54/isl_ioctl.c
@@ -1853,7 +1853,6 @@ prism54_del_mac(struct net_device *ndev, struct iw_request_info *info,
1853 islpci_private *priv = netdev_priv(ndev); 1853 islpci_private *priv = netdev_priv(ndev);
1854 struct islpci_acl *acl = &priv->acl; 1854 struct islpci_acl *acl = &priv->acl;
1855 struct mac_entry *entry; 1855 struct mac_entry *entry;
1856 struct list_head *ptr;
1857 struct sockaddr *addr = (struct sockaddr *) extra; 1856 struct sockaddr *addr = (struct sockaddr *) extra;
1858 1857
1859 if (addr->sa_family != ARPHRD_ETHER) 1858 if (addr->sa_family != ARPHRD_ETHER)
@@ -1861,11 +1860,9 @@ prism54_del_mac(struct net_device *ndev, struct iw_request_info *info,
1861 1860
1862 if (down_interruptible(&acl->sem)) 1861 if (down_interruptible(&acl->sem))
1863 return -ERESTARTSYS; 1862 return -ERESTARTSYS;
1864 for (ptr = acl->mac_list.next; ptr != &acl->mac_list; ptr = ptr->next) { 1863 list_for_each_entry(entry, &acl->mac_list, _list) {
1865 entry = list_entry(ptr, struct mac_entry, _list);
1866
1867 if (memcmp(entry->addr, addr->sa_data, ETH_ALEN) == 0) { 1864 if (memcmp(entry->addr, addr->sa_data, ETH_ALEN) == 0) {
1868 list_del(ptr); 1865 list_del(&entry->_list);
1869 acl->size--; 1866 acl->size--;
1870 kfree(entry); 1867 kfree(entry);
1871 up(&acl->sem); 1868 up(&acl->sem);
@@ -1883,7 +1880,6 @@ prism54_get_mac(struct net_device *ndev, struct iw_request_info *info,
1883 islpci_private *priv = netdev_priv(ndev); 1880 islpci_private *priv = netdev_priv(ndev);
1884 struct islpci_acl *acl = &priv->acl; 1881 struct islpci_acl *acl = &priv->acl;
1885 struct mac_entry *entry; 1882 struct mac_entry *entry;
1886 struct list_head *ptr;
1887 struct sockaddr *dst = (struct sockaddr *) extra; 1883 struct sockaddr *dst = (struct sockaddr *) extra;
1888 1884
1889 dwrq->length = 0; 1885 dwrq->length = 0;
@@ -1891,9 +1887,7 @@ prism54_get_mac(struct net_device *ndev, struct iw_request_info *info,
1891 if (down_interruptible(&acl->sem)) 1887 if (down_interruptible(&acl->sem))
1892 return -ERESTARTSYS; 1888 return -ERESTARTSYS;
1893 1889
1894 for (ptr = acl->mac_list.next; ptr != &acl->mac_list; ptr = ptr->next) { 1890 list_for_each_entry(entry, &acl->mac_list, _list) {
1895 entry = list_entry(ptr, struct mac_entry, _list);
1896
1897 memcpy(dst->sa_data, entry->addr, ETH_ALEN); 1891 memcpy(dst->sa_data, entry->addr, ETH_ALEN);
1898 dst->sa_family = ARPHRD_ETHER; 1892 dst->sa_family = ARPHRD_ETHER;
1899 dwrq->length++; 1893 dwrq->length++;
@@ -1960,7 +1954,6 @@ prism54_get_policy(struct net_device *ndev, struct iw_request_info *info,
1960static int 1954static int
1961prism54_mac_accept(struct islpci_acl *acl, char *mac) 1955prism54_mac_accept(struct islpci_acl *acl, char *mac)
1962{ 1956{
1963 struct list_head *ptr;
1964 struct mac_entry *entry; 1957 struct mac_entry *entry;
1965 int res = 0; 1958 int res = 0;
1966 1959
@@ -1972,8 +1965,7 @@ prism54_mac_accept(struct islpci_acl *acl, char *mac)
1972 return 1; 1965 return 1;
1973 } 1966 }
1974 1967
1975 for (ptr = acl->mac_list.next; ptr != &acl->mac_list; ptr = ptr->next) { 1968 list_for_each_entry(entry, &acl->mac_list, _list) {
1976 entry = list_entry(ptr, struct mac_entry, _list);
1977 if (memcmp(entry->addr, mac, ETH_ALEN) == 0) { 1969 if (memcmp(entry->addr, mac, ETH_ALEN) == 0) {
1978 res = 1; 1970 res = 1;
1979 break; 1971 break;
@@ -2216,11 +2208,9 @@ prism54_wpa_bss_ie_init(islpci_private *priv)
2216void 2208void
2217prism54_wpa_bss_ie_clean(islpci_private *priv) 2209prism54_wpa_bss_ie_clean(islpci_private *priv)
2218{ 2210{
2219 struct list_head *ptr, *n; 2211 struct islpci_bss_wpa_ie *bss, *n;
2220 2212
2221 list_for_each_safe(ptr, n, &priv->bss_wpa_list) { 2213 list_for_each_entry_safe(bss, n, &priv->bss_wpa_list, list) {
2222 struct islpci_bss_wpa_ie *bss;
2223 bss = list_entry(ptr, struct islpci_bss_wpa_ie, list);
2224 kfree(bss); 2214 kfree(bss);
2225 } 2215 }
2226} 2216}