Skip to content
  1. Dec 12, 2015
  2. Dec 09, 2015
    • Arnd Bergmann's avatar
      net: ezchip: fix address space confusion in nps_enet.c · b0a8d1a0
      Arnd Bergmann authored
      
      
      The nps_enet driver happily mixes virtual, physical and __iomem
      addresses, which are all different depending on the architecture
      and configuration.  That causes a warning when building the code
      on ARM with LPAE mode enabled:
      
      drivers/net/ethernet/ezchip/nps_enet.c: In function 'nps_enet_send_frame':
      drivers/net/ethernet/ezchip/nps_enet.c:370:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      
      but will also fail to work for other reasons.
      
      In this patch, I'm trying to change the code to use only normal
      kernel pointers, which I assume is what the author actually meant:
      
      * For reading or writing a 32-bit word that may be unaligned when
        an SKB contains unaligned data, I'm using get_unaligned/put_unaligned()
        rather than memcpy_fromio/toio.
      
      * For converting a u8 pointer to a u32 pointer, I use a cast rather
        than the incorrect virt_to_phys.
      
      * For copying a couple of bytes from one place to another while respecting
        alignment, I use memcpy instead of memcpy_toio.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0a8d1a0
    • Arnd Bergmann's avatar
      net: fsl: avoid 64-bit warning on pq_mdio · 8cde3e44
      Arnd Bergmann authored
      
      
      The pq_mdio driver can now be built for ARM64, where we get a format
      string warning:
      
      drivers/net/ethernet/freescale/fsl_pq_mdio.c: In function 'fsl_pq_mdio_probe':
      drivers/net/ethernet/freescale/fsl_pq_mdio.c:467:25: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long int' [-Wformat=]
      
      The argument is an implicit ptrdiff_t from the subtraction of two pointers,
      so we should use the %z format string modifier to make this work on 64-bit
      architectures.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: fe761bcb
      
       ("net: fsl: expands dependencies of NET_VENDOR_FREESCALE")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8cde3e44
    • Peter Wu's avatar
      r8152: fix lockup when runtime PM is enabled · 90186af4
      Peter Wu authored
      When an interface is brought up which was previously suspended (via
      runtime PM), it would hang. This happens because napi_disable is called
      before napi_enable.
      
      Solve this by avoiding napi_enable in the resume during open function
      (netif_running is true when open is called, IFF_UP is set after a
      successful open; netif_running is false when close is called, but IFF_UP
      is then still set).
      
      While at it, remove WORK_ENABLE check from rtl8152_open (introduced with
      the original change) because it cannot happen:
      
       - After this patch, runtime resume will not set it during rtl8152_open.
       - When link is up, rtl8152_open is not called.
       - When link is down during system/auto suspend/resume, it is not set.
      
      Fixes: 41cec84c ("r8152: don't enable napi before rx ready")
      Link: https://lkml.kernel.org/r/20151205105912.GA1766@al
      
      
      Signed-off-by: default avatarPeter Wu <peter@lekensteyn.nl>
      Acked-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      90186af4
    • Pavel Fedin's avatar
      net: thunderx: Correctly distinguish between VF and LMAC count · f406ce42
      Pavel Fedin authored
      Commit bc69fdfc
      ("net: thunderx: Enable BGX LMAC's RX/TX only after VF is up")
      introduces lmac_cnt member and starts verifying VF number against it.
      This is plain wrong, and works only because currently we have hardcoded
      1:1 mapping between VFs and LMACs, and in this case num_vf_en and
      lmac_cnt are always equal. However in future this may change, and the
      code will badly misbehave. The worst consequence of this is failure to
      deliver link status messages, causing VFs to go defunct because since
      commit 0b72a9a1
      
       ("net: thunderx: Switchon carrier only upon
      interface link up") VF will not fully bring itself up without it.
      
      This patch fixes the potential problem by doing VF number checks against
      the num_vf_en. Since lmac_cnt is not used anywhere else, it is removed.
      
      Additionally some duplicated code is factored out into nic_enable_vf()
      
      Signed-off-by: default avatarPavel Fedin <p.fedin@samsung.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f406ce42
    • Pravin B Shelar's avatar
      geneve: Fix IPv6 xmit stats update. · a322a1bc
      Pravin B Shelar authored
      
      
      Call to iptunnel_xmit_stats() is not required after udp-tunnel6-xmit.
      By calling iptunnel_xmit_stats() results in incorrect device stats.
      Following patch drops this call.
      
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a322a1bc
  3. Dec 07, 2015
  4. Dec 06, 2015