1. 01 9月, 2015 2 次提交
  2. 31 8月, 2015 7 次提交
  3. 30 8月, 2015 5 次提交
  4. 29 8月, 2015 10 次提交
    • N
      bonding: fix bond_poll_controller bh_enable warning · b0d4943e
      Nikolay Aleksandrov 提交于
      The problem is rcu_read_unlock_bh() which triggers a warning when irqs are
      disabled. ndo_poll_controller should run with irqs disabled always so we
      can drop the rcu_read_lock_bh.
      
      [   98.502922] bond0: making interface eth1 the new active one
      [   98.503039] ------------[ cut here ]------------
      [   98.503039] WARNING: CPU: 0 PID: 1744 at kernel/softirq.c:150 __local_bh_enable_ip+0x96/0xc0()
      [   98.503039] Modules linked in: bonding(OE) rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache netconsole ppdev joydev parport_pc serio_raw parport i2c_piix4 video acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc virtio_net e1000 ata_generic pcnet32 mii virtio_pci virtio_ring virtio pata_acpi
      [   98.503039] CPU: 0 PID: 1744 Comm: ifenslave Tainted: G           OE   4.2.0-rc7+ #56
      [   98.503039] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
      [   98.503039]  0000000000000000 00000000e96ba230 ffff880020c236b8 ffffffff8183f105
      [   98.503039]  0000000000000000 0000000000000000 ffff880020c236f8 ffffffff810a9496
      [   98.503039]  ffff88002ea99e08 0000000000000200 ffffffffa02a8e06 ffff88002ea99e08
      [   98.503039] Call Trace:
      [   98.503039]  [<ffffffff8183f105>] dump_stack+0x4c/0x65
      [   98.503039]  [<ffffffff810a9496>] warn_slowpath_common+0x86/0xc0
      [   98.503039]  [<ffffffffa02a8e06>] ? bond_poll_controller+0x146/0x250 [bonding]
      [   98.503039]  [<ffffffff810a95ca>] warn_slowpath_null+0x1a/0x20
      [   98.503039]  [<ffffffff810ae376>] __local_bh_enable_ip+0x96/0xc0
      [   98.503039]  [<ffffffffa02a8e2f>] bond_poll_controller+0x16f/0x250 [bonding]
      [   98.503039]  [<ffffffffa02a8cf3>] ? bond_poll_controller+0x33/0x250 [bonding]
      [   98.503039]  [<ffffffff810feaed>] ? trace_hardirqs_off+0xd/0x10
      [   98.503039]  [<ffffffff81848afb>] ? _raw_spin_unlock_irqrestore+0x5b/0x60
      [   98.503039]  [<ffffffff816ec48e>] netpoll_poll_dev+0x6e/0x350
      [   98.503039]  [<ffffffff816eb977>] ? netpoll_start_xmit+0x137/0x1d0
      [   98.503039]  [<ffffffff816b2e8b>] ? __alloc_skb+0x5b/0x210
      [   98.503039]  [<ffffffff816ec89d>] netpoll_send_skb_on_dev+0x12d/0x2a0
      [   98.503039]  [<ffffffff816eccde>] netpoll_send_udp+0x2ce/0x430
      [   98.503039]  [<ffffffffa0190850>] write_msg+0xb0/0xf0 [netconsole]
      [   98.503039]  [<ffffffff81116b63>] call_console_drivers.constprop.25+0x133/0x260
      [   98.503039]  [<ffffffff81117934>] console_unlock+0x2f4/0x580
      [   98.503039]  [<ffffffff81117ea5>] ? vprintk_emit+0x2e5/0x630
      [   98.503039]  [<ffffffff81117ee5>] vprintk_emit+0x325/0x630
      [   98.503039]  [<ffffffff81118379>] vprintk_default+0x29/0x40
      [   98.503039]  [<ffffffff8183de4f>] printk+0x55/0x6b
      [   98.503039]  [<ffffffff816c754c>] __netdev_printk+0x16c/0x260
      [   98.503039]  [<ffffffff816c7a12>] netdev_info+0x62/0x80
      [   98.503039]  [<ffffffffa02ab464>] bond_change_active_slave+0x134/0x6a0 [bonding]
      [   98.503039]  [<ffffffffa02aba95>] bond_select_active_slave+0xc5/0x310 [bonding]
      [   98.503039]  [<ffffffffa02aeb78>] bond_enslave+0x1088/0x10c0 [bonding]
      [   98.503039]  [<ffffffffa02af46b>] bond_do_ioctl+0x37b/0x400 [bonding]
      [   98.503039]  [<ffffffff81101d8d>] ? trace_hardirqs_on+0xd/0x10
      [   98.503039]  [<ffffffff816dc437>] ? rtnl_lock+0x17/0x20
      [   98.503039]  [<ffffffff816e5fd1>] dev_ifsioc+0x331/0x3e0
      [   98.503039]  [<ffffffff816e62dc>] dev_ioctl+0xec/0x6c0
      [   98.503039]  [<ffffffff816a6c6a>] sock_do_ioctl+0x4a/0x60
      [   98.503039]  [<ffffffff816a7300>] sock_ioctl+0x1c0/0x250
      [   98.503039]  [<ffffffff81271bfe>] do_vfs_ioctl+0x2ee/0x540
      [   98.503039]  [<ffffffff810fd943>] ? up_read+0x23/0x40
      [   98.503039]  [<ffffffff81070993>] ? __do_page_fault+0x1d3/0x420
      [   98.503039]  [<ffffffff8127e246>] ? __fget_light+0x66/0x90
      [   98.503039]  [<ffffffff81271ec9>] SyS_ioctl+0x79/0x90
      [   98.503039]  [<ffffffff8184936e>] entry_SYSCALL_64_fastpath+0x12/0x76
      [   98.503039] ---[ end trace 00cfa804b0670051 ]---
      
      Fixes: 616f4541 ("bonding: implement bond_poll_controller()")
      Signed-off-by: NNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Acked-by: NMahesh Bandewar <maheshb@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0d4943e
    • S
      sh_eth: propagate platform_get_irq() error upstream · 7a468ac6
      Sergei Shtylyov 提交于
      The driver overrides the error returned by platform_get_irq() with -ENODEV
      which e.g. precludes the deferred  probing from working. Propagate the real
      error code to the driver core instead.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7a468ac6
    • S
      ravb: propagate platform_get_irq() error upstream · f375339e
      Sergei Shtylyov 提交于
      The driver overrides the error returned by platform_get_irq() with -ENODEV
      which e.g. precludes the deferred  probing from working. Propagate the real
      error code to the driver core instead.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f375339e
    • S
      phylib: simplify NULL checks · ef899c07
      Sergei Shtylyov 提交于
      Fix scripts/checkpatch.pl's messages like:
      
      CHECK: Comparison to NULL could be written "!phydrv->read_mmd_indirect"
      
      BTW, it doesn't detect the reversed comparisons (which I've fixed as well).
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ef899c07
    • S
      phylib: simplify bogus phy_device_create() result · d3765f08
      Sergei Shtylyov 提交于
      Get rid of the bogus string of type casts where ERR_PTR() is enough.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d3765f08
    • S
      sfc: Allow driver to cope with a lower number of VIs than it needs for RSS · b0fbdae1
      Shradha Shah 提交于
      Previously, the driver would refuse to load if it couldn't secure
      enough VIs from the MC to fulfill its RSS requirements.
      This was causing probe to fail on later functions in
      configurations where we'd run out of VIs, such as having many
      VFs.
      
      This change allows the driver to load with fewer VIs, down to a
      minimum of 2. A warning will be printed saying that RSS
      requirements were not met, possibly affecting performance.
      
      efx->max_tx_channels needs to be set to avoid going down the
      failure path in efx_probe_nic() immediately in the loop after the
      probe() NIC-type function.
      Also, Set rc=ENOSPC when bombing out of efx_probe_nic due to lack
      of VIs.
      Signed-off-by: NShradha Shah <sshah@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0fbdae1
    • H
      cxgb4: Force uninitialized state if FW in adapter is unsupported · a69265e9
      Hariprasad Shenai 提交于
      Forcing uninitialized state allows us to upgrade and reinitialize
      the adapter.
      
          FW_VERSION_T4 = 1.4.0.0
          FW_VERSION_T5 = 0.0.0.0
          FW_VERSION_T6 = 0.0.0.0
      At this point driver supports above and greater than above version.
      
      If FW in adapter < min FW_VERSION driver supports tries to upgrade the FW
      If FW in adapter >= FW_VERSION driver supports then it follows normal path
      Signed-off-by: NHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a69265e9
    • D
      net: Add ethernet header for pass through VRF device · 8f58336d
      David Ahern 提交于
      The change to use a custom dst broke tcpdump captures on the VRF device:
      
      $ tcpdump -n -i vrf10
      ...
      05:32:29.009362 IP 10.2.1.254 > 10.2.1.2: ICMP echo request, id 21989, seq 1, length 64
      05:32:29.009855 00:00:40:01:8d:36 > 45:00:00:54:d6:6f, ethertype Unknown (0x0a02), length 84:
      	0x0000:  0102 0a02 01fe 0000 9181 55e5 0001 bd11  ..........U.....
      	0x0010:  da55 0000 0000 bb5d 0700 0000 0000 1011  .U.....]........
      	0x0020:  1213 1415 1617 1819 1a1b 1c1d 1e1f 2021  ...............!
      	0x0030:  2223 2425 2627 2829 2a2b 2c2d 2e2f 3031  "#$%&'()*+,-./01
      	0x0040:  3233 3435 3637                           234567
      
      Local packets going through the VRF device are missing an ethernet header.
      Fix by adding one and then stripping it off before pushing back to the IP
      stack. With this patch you get the expected dumps:
      
      ...
      05:36:15.713944 IP 10.2.1.254 > 10.2.1.2: ICMP echo request, id 23795, seq 1, length 64
      05:36:15.714160 IP 10.2.1.2 > 10.2.1.254: ICMP echo reply, id 23795, seq 1, length 64
      ...
      Signed-off-by: NDavid Ahern <dsa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8f58336d
    • C
      net/xen-netfront: only napi_synchronize() if running · 274b0455
      Chas Williams 提交于
      If an interface isn't running napi_synchronize() will hang forever.
      
      [  392.248403] rmmod           R  running task        0   359    343 0x00000000
      [  392.257671]  ffff88003760fc88 ffff880037193b40 ffff880037193160 ffff88003760fc88
      [  392.267644]  ffff880037610000 ffff88003760fcd8 0000000100014c22 ffffffff81f75c40
      [  392.277524]  0000000000bc7010 ffff88003760fca8 ffffffff81796927 ffffffff81f75c40
      [  392.287323] Call Trace:
      [  392.291599]  [<ffffffff81796927>] schedule+0x37/0x90
      [  392.298553]  [<ffffffff8179985b>] schedule_timeout+0x14b/0x280
      [  392.306421]  [<ffffffff810f91b9>] ? irq_free_descs+0x69/0x80
      [  392.314006]  [<ffffffff811084d0>] ? internal_add_timer+0xb0/0xb0
      [  392.322125]  [<ffffffff81109d07>] msleep+0x37/0x50
      [  392.329037]  [<ffffffffa00ec79a>] xennet_disconnect_backend.isra.24+0xda/0x390 [xen_netfront]
      [  392.339658]  [<ffffffffa00ecadc>] xennet_remove+0x2c/0x80 [xen_netfront]
      [  392.348516]  [<ffffffff81481c69>] xenbus_dev_remove+0x59/0xc0
      [  392.356257]  [<ffffffff814e7217>] __device_release_driver+0x87/0x120
      [  392.364645]  [<ffffffff814e7cf8>] driver_detach+0xb8/0xc0
      [  392.371989]  [<ffffffff814e6e69>] bus_remove_driver+0x59/0xe0
      [  392.379883]  [<ffffffff814e84f0>] driver_unregister+0x30/0x70
      [  392.387495]  [<ffffffff814814b2>] xenbus_unregister_driver+0x12/0x20
      [  392.395908]  [<ffffffffa00ed89b>] netif_exit+0x10/0x775 [xen_netfront]
      [  392.404877]  [<ffffffff81124e08>] SyS_delete_module+0x1d8/0x230
      [  392.412804]  [<ffffffff8179a8ee>] system_call_fastpath+0x12/0x71
      Signed-off-by: NChas Williams <3chas3@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      274b0455
    • C
      r8169: Add software counter for multicast packages · d7d2d89d
      Corinna Vinschen 提交于
      The multicast hardware counter on 8168/8111 chips is only 32 bit while the
      statistics in struct rtnl_link_stats64 are 64 bit.  Given that statistics
      are requested on an irregular basis, an overflow of the hardware counter
      can go unnoticed.  To count even very large numbers of multicast packets
      reliably, add a software counter and remove previously applied code to
      fill the multicast field requested by @rtl8169_get_stats64 with the values
      read from the rx_multicast hardware counter.
      Signed-off-by: NCorinna Vinschen <vinschen@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d7d2d89d
  5. 28 8月, 2015 16 次提交