diff options
29 files changed, 187 insertions, 72 deletions
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index d3d653a5f9b9..bfe924217f24 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt | |||
| @@ -346,7 +346,7 @@ tcp_orphan_retries - INTEGER | |||
| 346 | when RTO retransmissions remain unacknowledged. | 346 | when RTO retransmissions remain unacknowledged. |
| 347 | See tcp_retries2 for more details. | 347 | See tcp_retries2 for more details. |
| 348 | 348 | ||
| 349 | The default value is 7. | 349 | The default value is 8. |
| 350 | If your machine is a loaded WEB server, | 350 | If your machine is a loaded WEB server, |
| 351 | you should think about lowering this value, such sockets | 351 | you should think about lowering this value, such sockets |
| 352 | may consume significant resources. Cf. tcp_max_orphans. | 352 | may consume significant resources. Cf. tcp_max_orphans. |
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 8f8b65af9ed5..60f46bc2bf64 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c | |||
| @@ -140,7 +140,7 @@ MODULE_LICENSE("GPL"); | |||
| 140 | module_param(mtu, int, 0); | 140 | module_param(mtu, int, 0); |
| 141 | module_param(debug, int, 0); | 141 | module_param(debug, int, 0); |
| 142 | module_param(rx_copybreak, int, 0); | 142 | module_param(rx_copybreak, int, 0); |
| 143 | module_param(dspcfg_workaround, int, 1); | 143 | module_param(dspcfg_workaround, int, 0); |
| 144 | module_param_array(options, int, NULL, 0); | 144 | module_param_array(options, int, NULL, 0); |
| 145 | module_param_array(full_duplex, int, NULL, 0); | 145 | module_param_array(full_duplex, int, NULL, 0); |
| 146 | MODULE_PARM_DESC(mtu, "DP8381x MTU (all boards)"); | 146 | MODULE_PARM_DESC(mtu, "DP8381x MTU (all boards)"); |
| @@ -2028,8 +2028,8 @@ static void drain_rx(struct net_device *dev) | |||
| 2028 | np->rx_ring[i].cmd_status = 0; | 2028 | np->rx_ring[i].cmd_status = 0; |
| 2029 | np->rx_ring[i].addr = cpu_to_le32(0xBADF00D0); /* An invalid address. */ | 2029 | np->rx_ring[i].addr = cpu_to_le32(0xBADF00D0); /* An invalid address. */ |
| 2030 | if (np->rx_skbuff[i]) { | 2030 | if (np->rx_skbuff[i]) { |
| 2031 | pci_unmap_single(np->pci_dev, | 2031 | pci_unmap_single(np->pci_dev, np->rx_dma[i], |
| 2032 | np->rx_dma[i], buflen, | 2032 | buflen + NATSEMI_PADDING, |
| 2033 | PCI_DMA_FROMDEVICE); | 2033 | PCI_DMA_FROMDEVICE); |
| 2034 | dev_kfree_skb(np->rx_skbuff[i]); | 2034 | dev_kfree_skb(np->rx_skbuff[i]); |
| 2035 | } | 2035 | } |
diff --git a/drivers/net/slip.c b/drivers/net/slip.c index 8ec1a9a0bb9a..2f110fb30daa 100644 --- a/drivers/net/slip.c +++ b/drivers/net/slip.c | |||
| @@ -182,11 +182,11 @@ static int sl_alloc_bufs(struct slip *sl, int mtu) | |||
| 182 | #ifdef SL_INCLUDE_CSLIP | 182 | #ifdef SL_INCLUDE_CSLIP |
| 183 | cbuff = xchg(&sl->cbuff, cbuff); | 183 | cbuff = xchg(&sl->cbuff, cbuff); |
| 184 | slcomp = xchg(&sl->slcomp, slcomp); | 184 | slcomp = xchg(&sl->slcomp, slcomp); |
| 185 | #endif | ||
| 185 | #ifdef CONFIG_SLIP_MODE_SLIP6 | 186 | #ifdef CONFIG_SLIP_MODE_SLIP6 |
| 186 | sl->xdata = 0; | 187 | sl->xdata = 0; |
| 187 | sl->xbits = 0; | 188 | sl->xbits = 0; |
| 188 | #endif | 189 | #endif |
| 189 | #endif | ||
| 190 | spin_unlock_bh(&sl->lock); | 190 | spin_unlock_bh(&sl->lock); |
| 191 | err = 0; | 191 | err = 0; |
| 192 | 192 | ||
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 387ca43f26f4..304fe78ff60e 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
| @@ -2421,10 +2421,8 @@ static void hso_free_net_device(struct hso_device *hso_dev) | |||
| 2421 | 2421 | ||
| 2422 | remove_net_device(hso_net->parent); | 2422 | remove_net_device(hso_net->parent); |
| 2423 | 2423 | ||
| 2424 | if (hso_net->net) { | 2424 | if (hso_net->net) |
| 2425 | unregister_netdev(hso_net->net); | 2425 | unregister_netdev(hso_net->net); |
| 2426 | free_netdev(hso_net->net); | ||
| 2427 | } | ||
| 2428 | 2426 | ||
| 2429 | /* start freeing */ | 2427 | /* start freeing */ |
| 2430 | for (i = 0; i < MUX_BULK_RX_BUF_COUNT; i++) { | 2428 | for (i = 0; i < MUX_BULK_RX_BUF_COUNT; i++) { |
| @@ -2436,6 +2434,9 @@ static void hso_free_net_device(struct hso_device *hso_dev) | |||
| 2436 | kfree(hso_net->mux_bulk_tx_buf); | 2434 | kfree(hso_net->mux_bulk_tx_buf); |
| 2437 | hso_net->mux_bulk_tx_buf = NULL; | 2435 | hso_net->mux_bulk_tx_buf = NULL; |
| 2438 | 2436 | ||
| 2437 | if (hso_net->net) | ||
| 2438 | free_netdev(hso_net->net); | ||
| 2439 | |||
| 2439 | kfree(hso_dev); | 2440 | kfree(hso_dev); |
| 2440 | } | 2441 | } |
| 2441 | 2442 | ||
diff --git a/drivers/net/wireless/ath/ath5k/pci.c b/drivers/net/wireless/ath/ath5k/pci.c index 296c316a8341..f2c0c236392f 100644 --- a/drivers/net/wireless/ath/ath5k/pci.c +++ b/drivers/net/wireless/ath/ath5k/pci.c | |||
| @@ -297,7 +297,9 @@ ath5k_pci_remove(struct pci_dev *pdev) | |||
| 297 | #ifdef CONFIG_PM_SLEEP | 297 | #ifdef CONFIG_PM_SLEEP |
| 298 | static int ath5k_pci_suspend(struct device *dev) | 298 | static int ath5k_pci_suspend(struct device *dev) |
| 299 | { | 299 | { |
| 300 | struct ath5k_softc *sc = pci_get_drvdata(to_pci_dev(dev)); | 300 | struct pci_dev *pdev = to_pci_dev(dev); |
| 301 | struct ieee80211_hw *hw = pci_get_drvdata(pdev); | ||
| 302 | struct ath5k_softc *sc = hw->priv; | ||
| 301 | 303 | ||
| 302 | ath5k_led_off(sc); | 304 | ath5k_led_off(sc); |
| 303 | return 0; | 305 | return 0; |
| @@ -306,7 +308,8 @@ static int ath5k_pci_suspend(struct device *dev) | |||
| 306 | static int ath5k_pci_resume(struct device *dev) | 308 | static int ath5k_pci_resume(struct device *dev) |
| 307 | { | 309 | { |
| 308 | struct pci_dev *pdev = to_pci_dev(dev); | 310 | struct pci_dev *pdev = to_pci_dev(dev); |
| 309 | struct ath5k_softc *sc = pci_get_drvdata(pdev); | 311 | struct ieee80211_hw *hw = pci_get_drvdata(pdev); |
| 312 | struct ath5k_softc *sc = hw->priv; | ||
| 310 | 313 | ||
| 311 | /* | 314 | /* |
| 312 | * Suspend/Resume resets the PCI configuration space, so we have to | 315 | * Suspend/Resume resets the PCI configuration space, so we have to |
diff --git a/drivers/net/wireless/ath/ath5k/sysfs.c b/drivers/net/wireless/ath/ath5k/sysfs.c index 929c68cdf8ab..a073cdce1f15 100644 --- a/drivers/net/wireless/ath/ath5k/sysfs.c +++ b/drivers/net/wireless/ath/ath5k/sysfs.c | |||
| @@ -10,7 +10,8 @@ static ssize_t ath5k_attr_show_##name(struct device *dev, \ | |||
| 10 | struct device_attribute *attr, \ | 10 | struct device_attribute *attr, \ |
| 11 | char *buf) \ | 11 | char *buf) \ |
| 12 | { \ | 12 | { \ |
| 13 | struct ath5k_softc *sc = dev_get_drvdata(dev); \ | 13 | struct ieee80211_hw *hw = dev_get_drvdata(dev); \ |
| 14 | struct ath5k_softc *sc = hw->priv; \ | ||
| 14 | return snprintf(buf, PAGE_SIZE, "%d\n", get); \ | 15 | return snprintf(buf, PAGE_SIZE, "%d\n", get); \ |
| 15 | } \ | 16 | } \ |
| 16 | \ | 17 | \ |
| @@ -18,7 +19,8 @@ static ssize_t ath5k_attr_store_##name(struct device *dev, \ | |||
| 18 | struct device_attribute *attr, \ | 19 | struct device_attribute *attr, \ |
| 19 | const char *buf, size_t count) \ | 20 | const char *buf, size_t count) \ |
| 20 | { \ | 21 | { \ |
| 21 | struct ath5k_softc *sc = dev_get_drvdata(dev); \ | 22 | struct ieee80211_hw *hw = dev_get_drvdata(dev); \ |
| 23 | struct ath5k_softc *sc = hw->priv; \ | ||
| 22 | int val; \ | 24 | int val; \ |
| 23 | \ | 25 | \ |
| 24 | val = (int)simple_strtoul(buf, NULL, 10); \ | 26 | val = (int)simple_strtoul(buf, NULL, 10); \ |
| @@ -33,7 +35,8 @@ static ssize_t ath5k_attr_show_##name(struct device *dev, \ | |||
| 33 | struct device_attribute *attr, \ | 35 | struct device_attribute *attr, \ |
| 34 | char *buf) \ | 36 | char *buf) \ |
| 35 | { \ | 37 | { |
