Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
gigaset: include cleanup cleanup
packet : remove init_net restriction
WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver.
ip: Fix ip_dev_loopback_xmit()
net: dev_pick_tx() fix
fib: suppress lockdep-RCU false positive in FIB trie.
tun: orphan an skb on tx
forcedeth: fix tx limit2 flag check
iwlwifi: work around bogus active chains detection

+35 -28
-5
drivers/isdn/gigaset/bas-gigaset.c
··· 14 14 */ 15 15 16 16 #include "gigaset.h" 17 - 18 - #include <linux/errno.h> 19 - #include <linux/init.h> 20 - #include <linux/slab.h> 21 - #include <linux/timer.h> 22 17 #include <linux/usb.h> 23 18 #include <linux/module.h> 24 19 #include <linux/moduleparam.h>
-2
drivers/isdn/gigaset/capi.c
··· 12 12 */ 13 13 14 14 #include "gigaset.h" 15 - #include <linux/slab.h> 16 - #include <linux/ctype.h> 17 15 #include <linux/proc_fs.h> 18 16 #include <linux/seq_file.h> 19 17 #include <linux/isdn/capilli.h>
-2
drivers/isdn/gigaset/common.c
··· 14 14 */ 15 15 16 16 #include "gigaset.h" 17 - #include <linux/ctype.h> 18 17 #include <linux/module.h> 19 18 #include <linux/moduleparam.h> 20 - #include <linux/slab.h> 21 19 22 20 /* Version Information */ 23 21 #define DRIVER_AUTHOR "Hansjoerg Lipp <hjlipp@web.de>, Tilman Schmidt <tilman@imap.cc>, Stefan Eilers"
+1 -1
drivers/isdn/gigaset/gigaset.h
··· 22 22 #include <linux/kernel.h> 23 23 #include <linux/compiler.h> 24 24 #include <linux/types.h> 25 + #include <linux/ctype.h> 25 26 #include <linux/slab.h> 26 27 #include <linux/spinlock.h> 27 - #include <linux/usb.h> 28 28 #include <linux/skbuff.h> 29 29 #include <linux/netdevice.h> 30 30 #include <linux/ppp_defs.h>
-1
drivers/isdn/gigaset/i4l.c
··· 15 15 16 16 #include "gigaset.h" 17 17 #include <linux/isdnif.h> 18 - #include <linux/slab.h> 19 18 20 19 #define HW_HDR_LEN 2 /* Header size used to store ack info */ 21 20
-1
drivers/isdn/gigaset/interface.c
··· 13 13 14 14 #include "gigaset.h" 15 15 #include <linux/gigaset_dev.h> 16 - #include <linux/tty.h> 17 16 #include <linux/tty_flip.h> 18 17 19 18 /*** our ioctls ***/
-1
drivers/isdn/gigaset/proc.c
··· 14 14 */ 15 15 16 16 #include "gigaset.h" 17 - #include <linux/ctype.h> 18 17 19 18 static ssize_t show_cidmode(struct device *dev, 20 19 struct device_attribute *attr, char *buf)
-3
drivers/isdn/gigaset/ser-gigaset.c
··· 11 11 */ 12 12 13 13 #include "gigaset.h" 14 - 15 14 #include <linux/module.h> 16 15 #include <linux/moduleparam.h> 17 16 #include <linux/platform_device.h> 18 - #include <linux/tty.h> 19 17 #include <linux/completion.h> 20 - #include <linux/slab.h> 21 18 22 19 /* Version Information */ 23 20 #define DRIVER_AUTHOR "Tilman Schmidt"
-4
drivers/isdn/gigaset/usb-gigaset.c
··· 16 16 */ 17 17 18 18 #include "gigaset.h" 19 - 20 - #include <linux/errno.h> 21 - #include <linux/init.h> 22 - #include <linux/slab.h> 23 19 #include <linux/usb.h> 24 20 #include <linux/module.h> 25 21 #include <linux/moduleparam.h>
+1 -1
drivers/net/forcedeth.c
··· 5899 5899 /* Limit the number of tx's outstanding for hw bug */ 5900 5900 if (id->driver_data & DEV_NEED_TX_LIMIT) { 5901 5901 np->tx_limit = 1; 5902 - if ((id->driver_data & DEV_NEED_TX_LIMIT2) && 5902 + if (((id->driver_data & DEV_NEED_TX_LIMIT2) == DEV_NEED_TX_LIMIT2) && 5903 5903 pci_dev->revision >= 0xA2) 5904 5904 np->tx_limit = 0; 5905 5905 }
+4
drivers/net/tun.c
··· 387 387 } 388 388 } 389 389 390 + /* Orphan the skb - required as we might hang on to it 391 + * for indefinite time. */ 392 + skb_orphan(skb); 393 + 390 394 /* Enqueue packet */ 391 395 skb_queue_tail(&tun->socket.sk->sk_receive_queue, skb); 392 396 dev->trans_start = jiffies;
+6
drivers/net/wan/hdlc_ppp.c
··· 628 628 ppp_cp_event(dev, PID_LCP, STOP, 0, 0, 0, NULL); 629 629 } 630 630 631 + static void ppp_close(struct net_device *dev) 632 + { 633 + ppp_tx_flush(); 634 + } 635 + 631 636 static struct hdlc_proto proto = { 632 637 .start = ppp_start, 633 638 .stop = ppp_stop, 639 + .close = ppp_close, 634 640 .type_trans = ppp_type_trans, 635 641 .ioctl = ppp_ioctl, 636 642 .netif_rx = ppp_rx,
+12
drivers/net/wireless/iwlwifi/iwl-calib.c
··· 808 808 } 809 809 } 810 810 811 + /* 812 + * The above algorithm sometimes fails when the ucode 813 + * reports 0 for all chains. It's not clear why that 814 + * happens to start with, but it is then causing trouble 815 + * because this can make us enable more chains than the 816 + * hardware really has. 817 + * 818 + * To be safe, simply mask out any chains that we know 819 + * are not on the device. 820 + */ 821 + active_chains &= priv->hw_params.valid_rx_ant; 822 + 811 823 num_tx_chains = 0; 812 824 for (i = 0; i < NUM_RX_CHAINS; i++) { 813 825 /* loops on all the bits of
+6 -2
net/core/dev.c
··· 1989 1989 if (dev->real_num_tx_queues > 1) 1990 1990 queue_index = skb_tx_hash(dev, skb); 1991 1991 1992 - if (sk && sk->sk_dst_cache) 1993 - sk_tx_queue_set(sk, queue_index); 1992 + if (sk) { 1993 + struct dst_entry *dst = rcu_dereference(sk->sk_dst_cache); 1994 + 1995 + if (dst && skb_dst(skb) == dst) 1996 + sk_tx_queue_set(sk, queue_index); 1997 + } 1994 1998 } 1995 1999 } 1996 2000
+3 -1
net/ipv4/fib_trie.c
··· 209 209 { 210 210 struct node *ret = tnode_get_child(tn, i); 211 211 212 - return rcu_dereference(ret); 212 + return rcu_dereference_check(ret, 213 + rcu_read_lock_held() || 214 + lockdep_rtnl_is_held()); 213 215 } 214 216 215 217 static inline int tnode_child_length(const struct tnode *tn)
+1 -1
net/ipv4/ip_output.c
··· 120 120 newskb->pkt_type = PACKET_LOOPBACK; 121 121 newskb->ip_summed = CHECKSUM_UNNECESSARY; 122 122 WARN_ON(!skb_dst(newskb)); 123 - netif_rx(newskb); 123 + netif_rx_ni(newskb); 124 124 return 0; 125 125 } 126 126
+1 -1
net/ipv6/ip6_output.c
··· 108 108 newskb->ip_summed = CHECKSUM_UNNECESSARY; 109 109 WARN_ON(!skb_dst(newskb)); 110 110 111 - netif_rx(newskb); 111 + netif_rx_ni(newskb); 112 112 return 0; 113 113 } 114 114
-2
net/packet/af_packet.c
··· 2169 2169 case SIOCGIFDSTADDR: 2170 2170 case SIOCSIFDSTADDR: 2171 2171 case SIOCSIFFLAGS: 2172 - if (!net_eq(sock_net(sk), &init_net)) 2173 - return -ENOIOCTLCMD; 2174 2172 return inet_dgram_ops.ioctl(sock, cmd, arg); 2175 2173 #endif 2176 2174