1. 10 7月, 2011 1 次提交
    • J
      natsemi: fix another dma-debug report · ff181774
      Jim Cromie 提交于
      commit 2fb83cd6
      Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Date:   Sun Jul 3 22:34:29 2011 -0700
      
      Above commit fixed previously reported warning, but I later
      noticed another one at shutdown.  This commit fixes it.
      
      ------------[ cut here ]------------
      WARNING: at /home/jimc/projects/lx/linux-2.6/lib/dma-debug.c:820 check_unmap+0x1fe/0x56c()
      natsemi 0000:00:06.0: DMA-API: device driver frees DMA memory with different size [device address=0x0000000007356840] [map size=1538 bytes] [unmap size=1522 bytes]
      Modules linked in: bridge stp llc x_tables ipv6 pc87360 hwmon_vid scx200_hrt pc8736x_gpio scx200_gpio nsc_gpio scx200_acb i2c_core arc4 rtl8180 mac80211 eeprom_93cx6 cfg80211 pcspkr scx200 rfkill ide_gd_mod ide_pci_generic ohci_hcd usbcore sc1200 ide_core [last unloaded: ebtables]
      Pid: 3996, comm: ifconfig Not tainted 3.0.0-rc6-skc-dyndbg+ #104
      Call Trace:
       [<c011ca97>] warn_slowpath_common+0x4a/0x5f
       [<c0261ca5>] ? check_unmap+0x1fe/0x56c
       [<c011cb10>] warn_slowpath_fmt+0x26/0x2a
       [<c0261ca5>] check_unmap+0x1fe/0x56c
       [<c0116505>] ? check_preempt_curr+0x5a/0x6a
       [<c0262186>] debug_dma_unmap_page+0x53/0x5b
       [<c02aaaf9>] pci_unmap_single+0x4d/0x57
       [<c02aab51>] drain_rx+0x4e/0x74
       [<c02acc6e>] netdev_close+0x103/0x1b8
       [<c02f097e>] ? spin_unlock_bh.clone.30+0x12/0x14
       [<c02f10aa>] ? dev_deactivate_many+0xc1/0xef
       [<c02e05e9>] __dev_close_many+0x69/0x86
       [<c02e0625>] __dev_close+0x1f/0x2c
       [<c02e3200>] __dev_change_flags+0x92/0x107
       [<c02e32db>] dev_change_flags+0x13/0x3f
       [<c031e7ea>] devinet_ioctl+0x248/0x4b3
       [<c02e3a9e>] ? dev_ioctl+0x50a/0x54c
       [<c031f509>] inet_ioctl+0x8e/0xa7
       [<c02d506f>] sock_ioctl+0x1b6/0x1da
       [<c02d4eb9>] ? sock_fasync+0x61/0x61
       [<c0183db4>] do_vfs_ioctl+0x44d/0x47f
       [<c0113cdb>] ? do_page_fault+0x268/0x299
       [<c01339d0>] ? __put_cred+0x34/0x36
       [<c0177d83>] ? sys_faccessat+0x13e/0x14b
       [<c0183e14>] sys_ioctl+0x2e/0x4a
       [<c035bc95>] syscall_call+0x7/0xb
      ---[ end trace 7013a1bdac403e56 ]---
      Signed-off-by: NJim Cromie <jim.cromie@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff181774
  2. 09 7月, 2011 1 次提交
    • J
      net/natsemi: Fix module parameter permissions · b1f524e3
      Jean Delvare 提交于
      The third parameter of module_param is supposed to represent sysfs
      file permissions. A value of "1" leads to the following:
      
      $ ls -l /sys/module/natsemi/parameters/
      total 0
      ---------x 1 root root 4096 Jul  8 09:46 dspcfg_workaround
      
      I am changing it to "0" to align with the other module parameters in
      this driver.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Tim Hockin <thockin@hockin.org>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b1f524e3
  3. 04 7月, 2011 1 次提交
    • F
      natsemi: silence dma-debug warnings · 2fb83cd6
      FUJITA Tomonori 提交于
      This silences dma-debug warnings:
      
      https://lkml.org/lkml/2011/6/30/341
      
      ------------[ cut here ]------------
      WARNING: at /home/jimc/projects/lx/linux-2.6/lib/dma-debug.c:820
      check_unmap+0x1fe/0x56a()
      natsemi 0000:00:06.0: DMA-API: device driver frees DMA memory with
      different size [device address=0x0000000006ef0040] [map size=1538
      bytes] [unmap size=1522 bytes]
      Modules linked in: pc8736x_gpio pc87360 hwmon_vid scx200_gpio nsc_gpio
      scx200_hrt scx200_acb i2c_core arc4 rtl8180 mac80211 eeprom_93cx6
      cfg80211 pcspkr rfkill scx200 ide_gd_mod ide_pci_generic ohci_hcd
      usbcore sc1200 ide_core
      Pid: 870, comm: collector Not tainted 3.0.0-rc5-sk-00080-gca56a95e #1
      Call Trace:
       [<c011a556>] warn_slowpath_common+0x4a/0x5f
       [<c02565cb>] ? check_unmap+0x1fe/0x56a
       [<c011a5cf>] warn_slowpath_fmt+0x26/0x2a
       [<c02565cb>] check_unmap+0x1fe/0x56a
       [<c0256aaa>] debug_dma_unmap_page+0x53/0x5b
       [<c029d6cd>] pci_unmap_single+0x4d/0x57
       [<c029ea0a>] natsemi_poll+0x343/0x5ca
       [<c0116f41>] ? try_to_wake_up+0xea/0xfc
       [<c0122416>] ? spin_unlock_irq.clone.28+0x18/0x23
       [<c02d4667>] net_rx_action+0x3f/0xe5
       [<c011e35e>] __do_softirq+0x5b/0xd1
       [<c011e303>] ? local_bh_enable+0xa/0xa
       <IRQ>  [<c011e54b>] ? irq_exit+0x34/0x75
       [<c01034b9>] ? do_IRQ+0x66/0x79
       [<c034e869>] ? common_interrupt+0x29/0x30
       [<c0115ed0>] ? finish_task_switch.clone.118+0x31/0x72
       [<c034cb92>] ? schedule+0x3b2/0x3f1
       [<c012f4b0>] ? hrtimer_start_range_ns+0x10/0x12
       [<c012f4ce>] ? hrtimer_start_expires+0x1c/0x24
       [<c034d5aa>] ? schedule_hrtimeout_range_clock+0x8e/0xb4
       [<c012ed27>] ? update_rmtp+0x68/0x68
       [<c034d5da>] ? schedule_hrtimeout_range+0xa/0xc
       [<c017a913>] ? poll_schedule_timeout+0x27/0x3e
       [<c017b051>] ? do_select+0x488/0x4cd
       [<c0115ee2>] ? finish_task_switch.clone.118+0x43/0x72
       [<c01157ad>] ? need_resched+0x14/0x1e
       [<c017a99e>] ? poll_freewait+0x74/0x74
       [<c01157ad>] ? need_resched+0x14/0x1e
       [<c034cbc1>] ? schedule+0x3e1/0x3f1
       [<c011e55e>] ? irq_exit+0x47/0x75
       [<c01157ad>] ? need_resched+0x14/0x1e
       [<c034cf8a>] ? preempt_schedule_irq+0x44/0x4a
       [<c034dd1e>] ? need_resched+0x17/0x19
       [<c024bc12>] ? put_dec_full+0x7b/0xaa
       [<c0240060>] ? blkdev_ioctl+0x434/0x618
       [<c024bc70>] ? put_dec+0x2f/0x6d
       [<c024c6a5>] ? number.clone.1+0x10b/0x1d0
       [<c034cf8a>] ? preempt_schedule_irq+0x44/0x4a
       [<c034dd1e>] ? need_resched+0x17/0x19
       [<c024d046>] ? vsnprintf+0x225/0x264
       [<c024cea0>] ? vsnprintf+0x7f/0x264
       [<c018346f>] ? seq_printf+0x22/0x40
       [<c01a2fcc>] ? do_task_stat+0x582/0x5a3
       [<c017a913>] ? poll_schedule_timeout+0x27/0x3e
       [<c017b1b5>] ? core_sys_select+0x11f/0x1a3
       [<c017a913>] ? poll_schedule_timeout+0x27/0x3e
       [<c01a34a1>] ? proc_tgid_stat+0xd/0xf
       [<c012357c>] ? recalc_sigpending+0x32/0x35
       [<c0123b9c>] ? __set_task_blocked+0x64/0x6a
       [<c011dfb0>] ? timespec_add_safe+0x24/0x48
       [<c0123449>] ? spin_unlock_irq.clone.16+0x18/0x23
       [<c017b3a1>] ? sys_pselect6+0xe5/0x13e
       [<c034dd65>] ? syscall_call+0x7/0xb
       [<c0340000>] ? rpc_clntdir_depopulate+0x26/0x30
      ---[ end trace 180dcac41a50938b ]---
      Reported-by: NJim Cromie <jim.cromie@gmail.com>
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Tested-by: NJim Cromie <jim.cromie@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2fb83cd6
  4. 30 4月, 2011 2 次提交
  5. 13 4月, 2011 1 次提交
  6. 31 3月, 2011 1 次提交
  7. 26 8月, 2010 1 次提交
  8. 06 7月, 2010 1 次提交
  9. 10 5月, 2010 1 次提交
  10. 04 4月, 2010 1 次提交
    • J
      net: convert multicast list to list_head · 22bedad3
      Jiri Pirko 提交于
      Converts the list and the core manipulating with it to be the same as uc_list.
      
      +uses two functions for adding/removing mc address (normal and "global"
       variant) instead of a function parameter.
      +removes dev_mcast.c completely.
      +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for
       manipulation with lists on a sandbox (used in bonding and 80211 drivers)
      Signed-off-by: NJiri Pirko <jpirko@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      22bedad3
  11. 26 2月, 2010 1 次提交
  12. 13 2月, 2010 1 次提交
  13. 08 1月, 2010 1 次提交
  14. 04 12月, 2009 1 次提交
  15. 19 11月, 2009 1 次提交
  16. 04 9月, 2009 2 次提交
  17. 01 9月, 2009 1 次提交
  18. 09 7月, 2009 1 次提交
  19. 06 7月, 2009 1 次提交
  20. 27 2月, 2009 1 次提交
  21. 22 1月, 2009 1 次提交
  22. 08 1月, 2009 1 次提交
  23. 23 12月, 2008 1 次提交
  24. 04 11月, 2008 1 次提交
  25. 28 10月, 2008 1 次提交
  26. 09 10月, 2008 1 次提交
  27. 13 5月, 2008 1 次提交
  28. 18 4月, 2008 1 次提交
    • S
      natsemi: fix MMIO for PPC 44x platforms · 703bb99c
      Sergei Shtylyov 提交于
      The driver stores the PCI resource address into 'unsigned long' variable before
      calling ioremap()  on it. This warrants a kernel oops when the registers are
      accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped
      beyond 4 GB.
      
      The arch/ppc/ kernel has a fixup in ioremap() that creates an illusion of the
      PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of
      this trick, having instead CONFIG_RESOURCES_64BIT enabled.
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      703bb99c
  29. 26 3月, 2008 1 次提交
  30. 10 2月, 2008 1 次提交
  31. 03 2月, 2008 1 次提交
  32. 09 1月, 2008 1 次提交
  33. 25 10月, 2007 1 次提交
    • I
      natsemi: fix oops, link back netdevice from private-struct · bbbab5ca
      Ingo Molnar 提交于
      * Andrew Nelless <andrew@nelless.net> wrote:
      
      > Hi,
      >
      > I booted up 2.6.24-rc1 this morning [Real early over a brew ;-)] and
      > was having a problems with multiple ~5 second hangs on SATA/drive init
      > (Something to do with "EH" something-or-other and resets but I'll
      > email in separately about it later unless its fixed by the time I get
      > the chance).
      >
      > Anyway, I went to fire up netconsole to get a decent log dump and hit
      > across the following nasty. Netconsole works fine in 2.6.23.1 with a
      > similar config and the same kernel parameters.
      >
      > A shot of the screen is the only method I could come up with to
      > capture the log, I hope that is OK, it is pretty readable.
      >
      >
      > The nasty:
      > http://andotnet.nfshost.com/linux/2.6.24-rc1-netconsole-nullderef.jpg
      
      the NULL dereference is here:
      
       (gdb) list *0xffffffff804a9504
       0xffffffff804a9504 is in natsemi_poll (drivers/net/natsemi.c:717).
       712             return count;
       713     }
       714
       715     static inline void __iomem *ns_ioaddr(struct net_device *dev)
       716     {
       717             return (void __iomem *) dev->base_addr;
       718     }
       719
      
      which is this code from natsemi.c:
      
       2227            struct net_device *dev = np->dev;
       2228            void __iomem * ioaddr = ns_ioaddr(dev);
       2229            int work_done = 0;
      
      seems like the NAPI changes in -rc1 added an np->dev field but forgot to
      initialize it ...
      
      does the patch below fix the oops for you?
      
      	Ingo
      
      -------------------->
      Subject: natsemi: fix oops, link back netdevice from private-struct
      From: Ingo Molnar <mingo@elte.hu>
      
      this commit:
      
        commit bea3348e
        Author: Stephen Hemminger <shemminger@linux-foundation.org>
        Date:   Wed Oct 3 16:41:36 2007 -0700
      
            [NET]: Make NAPI polling independent of struct net_device objects.
      
      added np->dev to drivers/net/natsemi.c's struct netdev_private, but
      forgot to initialize that new field upon driver init. The result was
      a predictable NULL dereference oops the first time the hardware
      generated an interrupt.
      Reported-by: NAndrew Nelless <andrew@nelless.net>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      bbbab5ca
  34. 20 10月, 2007 1 次提交
  35. 16 10月, 2007 2 次提交
  36. 11 10月, 2007 2 次提交