1. 16 1月, 2015 1 次提交
  2. 09 1月, 2015 2 次提交
  3. 10 12月, 2014 2 次提交
  4. 30 11月, 2014 2 次提交
    • M
      sh_eth: Fix sleeping function called from invalid context · 7fa2955f
      Mitsuhiro Kimura 提交于
      This resolves the following bug which can be reproduced by building the
      kernel with CONFIG_DEBUG_ATOMIC_SLEEP=y and reading network statistics
      while the network interface is down.
      
      e.g.:
      
      ifconfig eth0 down
      cat /sys/class/net/eth0/statistics/tx_errors
      
      ----
      [ 1238.161349] BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:952
      [ 1238.188279] in_atomic(): 1, irqs_disabled(): 0, pid: 1388, name: cat
      [ 1238.207425] CPU: 0 PID: 1388 Comm: cat Not tainted 3.10.31-ltsi-00046-gefa0b46 #1087
      [ 1238.230737] Backtrace:
      [ 1238.238123] [<c0012e64>] (dump_backtrace+0x0/0x10c) from [<c0013000>] (show_stack+0x18/0x1c)
      [ 1238.263499]  r6:000003b8 r5:c06160c0 r4:c0669e00 r3:00404000
      [ 1238.280583] [<c0012fe8>] (show_stack+0x0/0x1c) from [<c04515a4>] (dump_stack+0x20/0x28)
      [ 1238.304631] [<c0451584>] (dump_stack+0x0/0x28) from [<c004970c>] (__might_sleep+0xf8/0x118)
      [ 1238.329734] [<c0049614>] (__might_sleep+0x0/0x118) from [<c02465ac>] (__pm_runtime_resume+0x38/0x90)
      [ 1238.357170]  r7:d616f000 r6:c049c458 r5:00000004 r4:d6a17210
      [ 1238.374251] [<c0246574>] (__pm_runtime_resume+0x0/0x90) from [<c029b1c4>] (sh_eth_get_stats+0x44/0x280)
      [ 1238.402468]  r7:d616f000 r6:c049c458 r5:d5c21000 r4:d5c21000
      [ 1238.419552] [<c029b180>] (sh_eth_get_stats+0x0/0x280) from [<c03ae39c>] (dev_get_stats+0x54/0x88)
      [ 1238.446204]  r5:d5c21000 r4:d5ed7e08
      [ 1238.456980] [<c03ae348>] (dev_get_stats+0x0/0x88) from [<c03c677c>] (netstat_show.isra.15+0x54/0x9c)
      [ 1238.484413]  r6:d5c21000 r5:d5c21238 r4:00000028 r3:00000001
      [ 1238.501495] [<c03c6728>] (netstat_show.isra.15+0x0/0x9c) from [<c03c69b8>] (show_tx_errors+0x18/0x1c)
      [ 1238.529196]  r7:d5f945d8 r6:d5f945c0 r5:c049716c r4:c0650e7c
      [ 1238.546279] [<c03c69a0>] (show_tx_errors+0x0/0x1c) from [<c023963c>] (dev_attr_show+0x24/0x50)
      [ 1238.572157] [<c0239618>] (dev_attr_show+0x0/0x50) from [<c010c148>] (sysfs_read_file+0xb0/0x140)
      [ 1238.598554]  r5:c049716c r4:d5c21240
      [ 1238.609326] [<c010c098>] (sysfs_read_file+0x0/0x140) from [<c00b9ee4>] (vfs_read+0xb0/0x13c)
      [ 1238.634679] [<c00b9e34>] (vfs_read+0x0/0x13c) from [<c00ba0ac>] (SyS_read+0x44/0x74)
      [ 1238.657944]  r8:bef45bf0 r7:00000000 r6:d6ac0600 r5:00000000 r4:00000000
      [ 1238.678172] [<c00ba068>] (SyS_read+0x0/0x74) from [<c000eec0>] (ret_fast_syscall+0x0/0x30)
      ----
      Signed-off-by: NMitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>
      Signed-off-by: NYoshihiro Kaneko <ykaneko0929@gmail.com>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7fa2955f
    • M
      sh_eth: Fix skb alloc size and alignment adjust rule. · 4d6a949c
      Mitsuhiro Kimura 提交于
      In the current driver, allocation size of skb does not care the alignment
      adjust after allocation.
      And also, in the current implementation, buffer alignment method by
      sh_eth_set_receive_align function has a bug that this function displace
      buffer start address forcedly when the alignment is corrected.
      In the result, tail of the skb will exceed allocated area and kernel panic
      will be occurred.
      This patch fix this issue.
      Signed-off-by: NMitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>
      Signed-off-by: NYoshihiro Kaneko <ykaneko0929@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4d6a949c
  5. 14 11月, 2014 2 次提交
  6. 28 10月, 2014 1 次提交
  7. 03 8月, 2014 1 次提交
  8. 03 7月, 2014 1 次提交
  9. 12 6月, 2014 2 次提交
  10. 04 6月, 2014 2 次提交
  11. 14 5月, 2014 2 次提交
  12. 29 3月, 2014 1 次提交
    • B
      sh_eth: ensure pm_runtime cannot suspend the device during init · b5893a08
      Ben Dooks 提交于
      The pm_rumtime work queue is causing the device to be suspended during
      initialisation, thus the initialisation may not be able to access registers
      properly. As the code is called from a work queue, it is possible that this
      is not seen from certain configurations/builds due to the asynchronos
      nature of the code.
      
      Another issue has also been found where the network device registration
      calls back into the driver thus causing further pm_runtime calls that
      also caused issues with the MDIO bus code. This has now been checked
      and is the only place the MDIO can be called without the device open.
      
      Use pm_runtime_get_sync() and pm_runtime_put() to ensure that the
      pm system does not suspend it during the probe() call and remove the
      now unnecessary pm_runtime_resume() call. Also add a call in the error
      path to call pm_runtime_disable().
      
      This fixes the external abort that can cause /sbin/init or other such
      init processed to die.
      Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
      Tested-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b5893a08
  13. 21 3月, 2014 5 次提交
  14. 18 3月, 2014 4 次提交
  15. 14 3月, 2014 1 次提交
    • B
      sh_eth: update OF PHY registeration · 702eca02
      Ben Dooks 提交于
      If the sh_eth device is registered using OF, then the driver
      should call of_mdiobus_register() to register the PHYs described
      in the devicetree and then use of_phy_connect() to connect the
      PHYs to the device.
      
      This ensures that any PHYs registered in the device tree are
      appropriately connected to the parent devices nodes so that
      the PHY drivers can access their OF properties.
      Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      702eca02
  16. 19 2月, 2014 1 次提交
  17. 14 2月, 2014 1 次提交
  18. 18 1月, 2014 2 次提交
  19. 17 1月, 2014 1 次提交
  20. 14 1月, 2014 1 次提交
  21. 04 1月, 2014 1 次提交
    • S
      sh_eth: coding style fixes · 128296fc
      Sergei Shtylyov 提交于
      Running 'scripts/checkpatch.pl' on the driver files gives numerous warnings:
      
      - block comments using empty /* line;
      
      - unneeded \ at end of lines;
      
      - message string split across lines;
      
      - use of __attribute__((aligned(n))) instead of __aligned(n) macro;
      
      - use of __attribute__((packed)) instead of __packed macro.
      
      Additionally, running 'scripts/checkpatch.pl --strict' gives more complaints:
      
      - including the paragraph about writing to FSF into the heading comment;
      
      - alignment not matching open paren;
      
      - multiple assignments on one line;
      
      - use of CamelCase names;
      
      - missing {} on one of the *if* arms where another has them;
      
      - spinlock definition without a comment.
      
      While fixing these, also do some more style cleanups:
      
      - remove useless () around expressions;
      
      - add {} around multi-line *if* operator's arm;
      
      - remove space before comma;
      
      - add spaces after /* and before */;
      
      - properly align continuation lines of broken up expressions;
      
      - realign comments to the structure fields.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      128296fc
  22. 01 1月, 2014 1 次提交
  23. 20 12月, 2013 2 次提交
  24. 11 12月, 2013 1 次提交
    • S
      sh_eth: add R8A7791 support · 94a12b15
      Sergei Shtylyov 提交于
      Add support for yet another ARM member of the R-Car family, R-Car M2, also known
      as R8A7791 -- it will share the code and data with previously added R8A7790.
      Despite the Ether devices in these SoCs are indistinguishable at least from the
      driver's point of view, we do introduce a new platform device ID "r8a7791-ether"
      unlike the wildcard ID used for R8A7778/9 SoCs, due to newly established policy
      for the Renesas SoCs.
      Signed-off-by: NSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      94a12b15