aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-12 14:12:06 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-12 14:12:06 -0500
commite697b8d13ede3893724898d983eff3f8c9183643 (patch)
tree0144d2d98d33e92a1d93739f0db12997c000d456
parent46015977e70f672ae6b20a1b5fb1e361208365ba (diff)
parent2994c63863ac350c4c8c6a65d8110749c2abb95c (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (39 commits) [INET]: Small possible memory leak in FIB rules [NETNS]: init dev_base_lock only once [UNIX]: The unix_nr_socks limit can be exceeded [AF_UNIX]: Convert socks to unix_socks in scan_inflight, not in callbacks [AF_UNIX]: Make unix_tot_inflight counter non-atomic [AF_PACKET]: Allow multicast traffic to be caught by ORIGDEV when bonded ssb: Fix PCMCIA-host lowlevel bus access mac80211: fix MAC80211_RCSIMPLE Kconfig mac80211: make "decrypt failed" messages conditional upon MAC80211_DEBUG mac80211: use IW_AUTH_PRIVACY_INVOKED rather than IW_AUTH_KEY_MGMT mac80211: remove unused driver ops mac80211: remove ieee80211_common.h softmac: MAINTAINERS update rfkill: Fix sparse warning rfkill: Use mutex_lock() at register and add sanity check iwlwifi: select proper rate control algorithm mac80211: allow driver to ask for a rate control algorithm mac80211: don't allow registering the same rate control twice rfkill: Use subsys_initcall mac80211: make simple rate control algorithm built-in ...
-rw-r--r--MAINTAINERS7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c2
-rw-r--r--drivers/ssb/main.c6
-rw-r--r--drivers/ssb/pcmcia.c56
-rw-r--r--include/linux/skbuff.h4
-rw-r--r--include/net/af_unix.h2
-rw-r--r--include/net/dst.h7
-rw-r--r--include/net/fib_rules.h3
-rw-r--r--include/net/inet_hashtables.h1
-rw-r--r--include/net/mac80211.h26
-rw-r--r--net/8021q/vlan.c5
-rw-r--r--net/8021q/vlan.h1
-rw-r--r--net/8021q/vlan_dev.c26
-rw-r--r--net/core/dev.c1
-rw-r--r--net/core/dev_mcast.c14
-rw-r--r--net/core/fib_rules.c22
-rw-r--r--net/decnet/dn_route.c16
-rw-r--r--net/decnet/dn_rules.c13
-rw-r--r--net/ieee80211/softmac/ieee80211softmac_wx.c2
-rw-r--r--net/ipv4/fib_rules.c51
-rw-r--r--net/ipv4/route.c17
-rw-r--r--net/ipv4/tcp_input.c99
-rw-r--r--net/ipv4/tunnel4.c24
-rw-r--r--net/ipv6/fib6_rules.c37
-rw-r--r--net/ipv6/route.c6
-rw-r--r--net/ipx/af_ipx.c22
-rw-r--r--net/mac80211/Kconfig12
-rw-r--r--net/mac80211/Makefile3
-rw-r--r--net/mac80211/ieee80211.c16
-rw-r--r--net/mac80211/ieee80211_common.h91
-rw-r--r--net/mac80211/ieee80211_i.h2
-rw-r--r--net/mac80211/ieee80211_ioctl.c21
-rw-r--r--net/mac80211/ieee80211_rate.c24
-rw-r--r--net/mac80211/ieee80211_rate.h3
-rw-r--r--net/mac80211/ieee80211_sta.c18
-rw-r--r--net/mac80211/rc80211_simple.c25
-rw-r--r--net/mac80211/rx.c2
-rw-r--r--net/mac80211/wep.c2
-rw-r--r--net/mac80211/wpa.c18
-rw-r--r--net/packet/af_packet.c15
-rw-r--r--net/rfkill/rfkill.c37
-rw-r--r--net/sched/cls_u32.c12
-rw-r--r--net/unix/af_unix.c9
-rw-r--r--net/unix/garbage.c26
45 files changed, 380 insertions, 428 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 6a9702726239..cad0882754a6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3454,15 +3454,10 @@ L: lm-sensors@lm-sensors.org
3454S: Maintained 3454S: Maintained
3455 3455
3456SOFTMAC LAYER (IEEE 802.11) 3456SOFTMAC LAYER (IEEE 802.11)
3457P: Johannes Berg
3458M: johannes@sipsolutions.net
3459P: Joe Jezak
3460M: josejx@gentoo.org
3461P: Daniel Drake 3457P: Daniel Drake
3462M: dsd@gentoo.org 3458M: dsd@gentoo.org
3463W: http://softmac.sipsolutions.net/
3464L: linux-wireless@vger.kernel.org 3459L: linux-wireless@vger.kernel.org
3465S: Maintained 3460S: Obsolete
3466 3461
3467SOFTWARE RAID (Multiple Disks) SUPPORT 3462SOFTWARE RAID (Multiple Disks) SUPPORT
3468P: Ingo Molnar 3463P: Ingo Molnar
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 4f22a7174caf..be7c9f42a340 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -8354,6 +8354,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
8354 } 8354 }
8355 SET_IEEE80211_DEV(hw, &pdev->dev); 8355 SET_IEEE80211_DEV(hw, &pdev->dev);
8356 8356
8357 hw->rate_control_algorithm = "iwl-3945-rs";
8358
8357 IWL_DEBUG_INFO("*** LOAD DRIVER ***\n"); 8359 IWL_DEBUG_INFO("*** LOAD DRIVER ***\n");
8358 priv = hw->priv; 8360 priv = hw->priv;
8359 priv->hw = hw; 8361 priv->hw = hw;
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index d60adcb9bd4a..6757c6c1b25a 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -8955,6 +8955,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
8955 } 8955 }
8956 SET_IEEE80211_DEV(hw, &pdev->dev); 8956 SET_IEEE80211_DEV(hw, &pdev->dev);
8957 8957
8958 hw->rate_control_algorithm = "iwl-4965-rs";
8959
8958 IWL_DEBUG_INFO("*** LOAD DRIVER ***\n"); 8960 IWL_DEBUG_INFO("*** LOAD DRIVER ***\n");
8959 priv = hw->priv; 8961 priv = hw->priv;
8960 priv->hw = hw; 8962 priv->hw = hw;
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index c12a741b5574..85a20546e827 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -440,6 +440,7 @@ static int ssb_devices_register(struct ssb_bus *bus)
440 break; 440 break;
441 case SSB_BUSTYPE_PCMCIA: 441 case SSB_BUSTYPE_PCMCIA:
442#ifdef CONFIG_SSB_PCMCIAHOST 442#ifdef CONFIG_SSB_PCMCIAHOST
443 sdev->irq = bus->host_pcmcia->irq.AssignedIRQ;
443 dev->parent = &bus->host_pcmcia->dev; 444 dev->parent = &bus->host_pcmcia->dev;
444#endif 445#endif
445 break; 446 break;
@@ -1147,7 +1148,10 @@ static int __init ssb_modinit(void)
1147 1148
1148 return err; 1149 return err;
1149} 1150}
1150subsys_initcall(ssb_modinit); 1151/* ssb must be initialized after PCI but before the ssb drivers.
1152 * That means we must use some initcall between subsys_initcall
1153 * and device_initcall. */
1154fs_initcall(ssb_modinit);
1151 1155
1152static void __exit ssb_modexit(void) 1156static void __exit ssb_modexit(void)
1153{ 1157{
diff --git a/drivers/ssb/pcmcia.c b/drivers/ssb/pcmcia.c
index b6abee846f02..bb44a76b3eb5 100644
--- a/drivers/ssb/pcmcia.c
+++ b/drivers/ssb/pcmcia.c
@@ -63,17 +63,17 @@ int ssb_pcmcia_switch_coreidx(struct ssb_bus *bus,
63 err = pcmcia_access_configuration_register(pdev, &reg); 63 err = pcmcia_access_configuration_register(pdev, &reg);
64 if (err != CS_SUCCESS) 64 if (err != CS_SUCCESS)
65 goto error; 65 goto error;
66 read_addr |= (reg.Value & 0xF) << 12; 66 read_addr |= ((u32)(reg.Value & 0x0F)) << 12;
67 reg.Offset = 0x30; 67 reg.Offset = 0x30;
68 err = pcmcia_access_configuration_register(pdev, &reg); 68 err = pcmcia_access_configuration_register(pdev, &reg);
69 if (err != CS_SUCCESS) 69 if (err != CS_SUCCESS)
70 goto error; 70 goto error;
71 read_addr |= reg.Value << 16; 71 read_addr |= ((u32)reg.Value) << 16;
72 reg.Offset = 0x32; 72 reg.Offset = 0x32;
73 err = pcmcia_access_configuration_register(pdev, &reg); 73 err = pcmcia_access_configuration_register(pdev, &reg);
74 if (err != CS_SUCCESS) 74 if (err != CS_SUCCESS)
75 goto error; 75 goto error;
76 read_addr |= reg.Value << 24; 76 read_addr |= ((u32)reg.Value) << 24;
77 77
78 cur_core = (read_addr - SSB_ENUM_BASE) / SSB_CORE_SIZE; 78 cur_core = (read_addr - SSB_ENUM_BASE) / SSB_CORE_SIZE;
79 if (cur_core == coreidx) 79 if (cur_core == coreidx)
@@ -152,28 +152,29 @@ error:
152 goto out_unlock; 152 goto out_unlock;
153} 153}
154 154
155/* These are the main device register access functions. 155static int select_core_and_segment(struct ssb_device *dev,
156 * do_select_core is inline to have the likely hotpath inline. 156 u16 *offset)
157 * All unlikely codepaths are out-of-line. */
158static inline int do_select_core(struct ssb_bus *bus,
159 struct ssb_device *dev,
160 u16 *offset)
161{ 157{
158 struct ssb_bus *bus = dev->bus;
162 int err; 159 int err;