1. 23 9月, 2014 1 次提交
    • J
      mlx4: Fix mlx4 reg/unreg mac to work properly with 0-mac addresses · f4fd40b2
      Jack Morgenstein 提交于
      There is a chance that the VF mlx4 RoCE driver (mlx4_ib) may see a 0-mac
      as the current default MAC address when a RoCE interface first comes up.
      
      In this case, the RoCE driver registers the 0-mac to get its MAC index --
      used in the INIT2RTR transition when it creates its proxy Q1 qp's.
      
      If we do not allow QP1 to be created, the RoCE driver will not come up.
      If we do not register the 0-mac, but simply use a random mac-index,
      QP1 will attempt to send packets with an someone's else source MAC which
      will get the system into more troubled.
      
      Since a 0-mac was previously used to indicate a free slot, this leads to
      errors, both when the 0-mac is registered and when it is unregistered.
      
      The required fix is to check in addition that the slot containing the
      0-mac has a reference count of zero.
      
      Additionally, when comparing MAC addresses, need to mask out the 2 MSBs
      of the u64 mac on both sides of the comparison.
      
      Note that when the EN driver (mlx4_en) comes up, it set itself a proper
      mac --> the RoCE driver gets to be notified on that and further handing
      is done with the update qp command, as was added by commit 9433c188
      ("IB/mlx4: Invoke UPDATE_QP for proxy QP1 on MAC changes").
      Signed-off-by: NJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      f4fd40b2
  2. 22 9月, 2014 1 次提交
  3. 23 8月, 2014 4 次提交
  4. 22 8月, 2014 7 次提交
  5. 21 8月, 2014 4 次提交
  6. 17 8月, 2014 4 次提交
  7. 15 8月, 2014 8 次提交
    • J
      i40e: fix PTP bug · db6d2bee
      Jesse Brandeburg 提交于
      The receive hang detection routine was never being run when
      PTP was enabled.
      
      Change-ID: I200f35b0f3190d31b595df89d678f4c8a2131ba0
      Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NJim Young <jamesx.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      db6d2bee
    • A
      i40e: Fix a few potential VF dereferences · 6e7b5bd3
      Anjali Singhai Jain 提交于
      In some functions we might be doing potential dereference
      without a check. This patch puts the check in place for all these
      functions. Also fix the "for loops" so that we increment VF at the
      right place so that we always do it even if we are short-circuiting
      the loop through continue.
      
      Change-ID: Id4276cfb1e841031bb7b6d6790c414242f364a9f
      Signed-off-by: NAnjali Singhai Jain <anjali.singhai@intel.com>
      Tested-by: NJim Young <jamesx.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      6e7b5bd3
    • A
      i40e: Fix for recent kernel panic · 478c9e74
      Anjali Singhai Jain 提交于
      Whenever we get a Tx hang we issue a PFR, which means we send AQ
      messages to VFS about the reset coming. Unfortunately with the recent
      fix to be able to send messages to all VFS which earlier was not
      happening at all we now are sending messages to not just the VFS that
      are up but also to VFS that are not up.  AQ complains about this and
      sends us an error in ARQ called LAN overflow event for a queue. We
      check if the queue belongs to a VF and if it does we try to send a
      vc_notify_vf_reset message to that VF. Well if the VF is not up/enabled
      we will be entering this function with a non-active VF id. In this
      function we were assuming VF struct is populated but it won't be if
      the VF is not active.
      
      Change-ID: Ic6733cda4582d3609fe6d83b2872bb2dcdc73f4a
      Signed-off-by: NAshish N Shah <ashish.n.shah@intel.com>
      Signed-off-by: NAnjali Singhai Jain <anjali.singhai@intel.com>
      Tested-by: NJim Young <jamesx.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      478c9e74
    • A
      net: ethernet: ibm: ehea: Remove duplicate object from Makefile · 3b3e0ea8
      Andreas Ruprecht 提交于
      In the Makefile, ehea_phyp.o is included twice in the list of
      object files compile into ehea.o.
      
      This change removes one instance.
      Signed-off-by: NAndreas Ruprecht <rupran@einserver.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b3e0ea8
    • T
      net: xgene: Check negative return value of xgene_enet_get_ring_size() · 9b9ba821
      Tobias Klauser 提交于
      xgene_enet_get_ring_size() returns a negative value in case of an error,
      but its only caller in xgene_enet_create_desc_ring() currently uses the
      return value directly as u32. Instead, check for a negative value first and
      error out in case. Also move the call to xgene_enet_get_ring_size() before
      devm_kzalloc() so we don't need to free anything in the error path.
      
      This fixes the following issue reported by the Coverity Scanner:
      
      ** CID 1231336:  Improper use of negative value  (NEGATIVE_RETURNS)
      /drivers/net/ethernet/apm/xgene/xgene_enet_main.c: 596 in xgene_enet_create_desc_ring()
      Signed-off-by: NTobias Klauser <tklauser@distanz.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9b9ba821
    • M
      net: xilinx: Remove .owner field for driver · fdd42e44
      Michal Simek 提交于
      There is no need to init .owner field.
      
      Based on the patch from Peter Griffin <peter.griffin@linaro.org>
      "mmc: remove .owner field for drivers using module_platform_driver"
      
      This patch removes the superflous .owner field for drivers which
      use the module_platform_driver API, as this is overriden in
      platform_driver_register anyway."
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fdd42e44
    • D
      Revert "macvlan: simplify the structure port" · 5e3c516b
      David S. Miller 提交于
      This reverts commit a188a54d.
      
      It causes crashes
      
      ====================
      [   80.643286] BUG: unable to handle kernel NULL pointer dereference at 0000000000000878
      [   80.670103] IP: [<ffffffff810832e4>] try_to_grab_pending+0x64/0x1f0
      [   80.691289] PGD 22c102067 PUD 235bf0067 PMD 0
      [   80.706611] Oops: 0002 [#1] SMP
      [   80.717836] Modules linked in: macvlan nfsd lockd nfs_acl exportfs auth_rpcgss sunrpc oid_registry ioatdma ixgbe(-) mdio igb dca
      [   80.757935] CPU: 37 PID: 6724 Comm: rmmod Not tainted 3.16.0-net-next-08-12-2014-FCoE+ #1
      [   80.785688] Hardware name: Intel Corporation S2600CO/S2600CO, BIOS SE5C600.86B.02.03.0003.041920141333 04/19/2014
      [   80.820310] task: ffff880235a9eae0 ti: ffff88022e844000 task.ti: ffff88022e844000
      [   80.845770] RIP: 0010:[<ffffffff810832e4>]  [<ffffffff810832e4>] try_to_grab_pending+0x64/0x1f0
      [   80.875326] RSP: 0018:ffff88022e847b28  EFLAGS: 00010046
      [   80.893251] RAX: 0000000000037a6a RBX: 0000000000000878 RCX: 0000000000000000
      [   80.917187] RDX: ffff880235a9eae0 RSI: 0000000000000001 RDI: ffffffff810832db
      [   80.941125] RBP: ffff88022e847b58 R08: 0000000000000000 R09: 0000000000000000
      [   80.965056] R10: 0000000000000001 R11: 0000000000000001 R12: ffff88022e847b70
      [   80.988994] R13: 0000000000000000 R14: ffff88022e847be8 R15: ffffffff81ebe440
      [   81.012929] FS:  00007fab90b07700(0000) GS:ffff88043f7a0000(0000) knlGS:0000000000000000
      [   81.040400] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   81.059757] CR2: 0000000000000878 CR3: 0000000235a42000 CR4: 00000000001407e0
      [   81.083689] Stack:
      [   81.090739]  ffff880235a9eae0 0000000000000878 ffff88022e847b70 0000000000000000
      [   81.116253]  ffff88022e847be8 ffffffff81ebe440 ffff88022e847b98 ffffffff810847f1
      [   81.141766]  ffff88022e847b78 0000000000000286 ffff880234200000 0000000000000000
      [   81.167282] Call Trace:
      [   81.175768]  [<ffffffff810847f1>] __cancel_work_timer+0x31/0x170
      [   81.195985]  [<ffffffff8108494b>] cancel_work_sync+0xb/0x10
      [   81.214769]  [<ffffffffa015ae68>] macvlan_port_destroy+0x28/0x60 [macvlan]
      [   81.237844]  [<ffffffffa015b930>] macvlan_uninit+0x40/0x50 [macvlan]
      [   81.259209]  [<ffffffff816bf6e2>] rollback_registered_many+0x1a2/0x2c0
      [   81.281140]  [<ffffffff816bf81a>] unregister_netdevice_many+0x1a/0xb0
      [   81.302786]  [<ffffffffa015a4ff>] macvlan_device_event+0x1ef/0x240 [macvlan]
      [   81.326439]  [<ffffffff8108a13d>] notifier_call_chain+0x4d/0x70
      [   81.346366]  [<ffffffff8108a201>] raw_notifier_call_chain+0x11/0x20
      [   81.367439]  [<ffffffff816bf25b>] call_netdevice_notifiers_info+0x3b/0x70
      [   81.390228]  [<ffffffff816bf2a1>] call_netdevice_notifiers+0x11/0x20
      [   81.411587]  [<ffffffff816bf6bd>] rollback_registered_many+0x17d/0x2c0
      [   81.433518]  [<ffffffff816bf925>] unregister_netdevice_queue+0x75/0x110
      [   81.455735]  [<ffffffff816bfb2b>] unregister_netdev+0x1b/0x30
      [   81.475094]  [<ffffffffa0039b50>] ixgbe_remove+0x170/0x1d0 [ixgbe]
      [   81.495886]  [<ffffffff813512a2>] pci_device_remove+0x32/0x60
      [   81.515246]  [<ffffffff814c75c4>] __device_release_driver+0x64/0xd0
      [   81.536321]  [<ffffffff814c76f8>] driver_detach+0xc8/0xd0
      [   81.554530]  [<ffffffff814c656e>] bus_remove_driver+0x4e/0xa0
      [   81.573888]  [<ffffffff814c828b>] driver_unregister+0x2b/0x60
      [   81.593246]  [<ffffffff8135143e>] pci_unregister_driver+0x1e/0xa0
      [   81.613749]  [<ffffffffa005db18>] ixgbe_exit_module+0x1c/0x2e [ixgbe]
      [   81.635401]  [<ffffffff810e738b>] SyS_delete_module+0x15b/0x1e0
      [   81.655334]  [<ffffffff8187a395>] ? sysret_check+0x22/0x5d
      [   81.673833]  [<ffffffff810abd2d>] ? trace_hardirqs_on_caller+0x11d/0x1e0
      [   81.696339]  [<ffffffff8132bfde>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [   81.717985]  [<ffffffff8187a369>] system_call_fastpath+0x16/0x1b
      [   81.738199] Code: 00 48 83 3d 6e bb da 00 00 48 89 c2 0f 84 67 01 00 00 fa 66 0f 1f 44 00 00 49 89 14 24 e8 b5 4b 02 00 45 84 ed 0f 85 ac 00 00 00 <f0> 0f ba 2b 00 72 1d 31 c0 48 8b 5d d8 4c 8b 65 e0 4c 8b 6d e8
      [   81.807026] RIP  [<ffffffff810832e4>] try_to_grab_pending+0x64/0x1f0
      [   81.828468]  RSP <ffff88022e847b28>
      [   81.840384] CR2: 0000000000000878
      [   81.851731] ---[ end trace 9f6c7232e3464e11 ]---
      ====================
      
      This bug could be triggered by these steps:
      
      modprobe ixgbe ; modprobe macvlan
      ip link add link p96p1 address 00:1B:21:6E:06:00 macvlan0 type macvlan
      ip link add link p96p1 address 00:1B:21:6E:06:01 macvlan1 type macvlan
      ip link add link p96p1 address 00:1B:21:6E:06:02 macvlan2 type macvlan
      ip link add link p96p1 address 00:1B:21:6E:06:03 macvlan3 type macvlan
      rmmod ixgbe
      Reported-by: N"Keller, Jacob E" <jacob.e.keller@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e3c516b
    • E
      iwlwifi: mvm: disable scheduled scan to prevent firmware crash · 77b2f286
      Emmanuel Grumbach 提交于
      There are firmwares which don't support scheduled scan.
      Disable it for now.
      Linus's system encoutered this issue.
      Thanks to David Spinadel for his help.
      Tested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      77b2f286
  8. 14 8月, 2014 11 次提交