1. 16 4月, 2013 6 次提交
    • V
      net: add dev_uc_sync_multiple() and dev_mc_sync_multiple() api · 4cd729b0
      Vlad Yasevich 提交于
      The current implementation of dev_uc_sync/unsync() assumes that there is
      a strict 1-to-1 relationship between the source and destination of the sync.
      In other words, once an address has been synced to a destination device, it
      will not be synced to any other device through the sync API.
      However, there are some virtual devices that aggreate a number of lower
      devices and need to sync addresses to all of them.  The current
      API falls short there.
      
      This patch introduces a new dev_uc_sync_multiple() api that can be called
      in the above circumstances and allows sync to work for every invocation.
      
      CC: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: NVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4cd729b0
    • D
      net: sctp: minor: make sctp_ep_common's member 'dead' a bool · 0022d2dd
      Daniel Borkmann 提交于
      Since dead only holds two states (0,1), make it a bool instead
      of a 'char', which is more appropriate for its purpose.
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0022d2dd
    • D
      net: sctp: remove sctp_ep_common struct member 'malloced' · ff2266cd
      Daniel Borkmann 提交于
      There is actually no need to keep this member in the structure, because
      after init it's always 1 anyway, thus always kfree called. This seems to
      be an ancient leftover from the very initial implementation from 2.5
      times. Only in case the initialization of an association fails, we leave
      base.malloced as 0, but we nevertheless kfree it in the error path in
      sctp_association_new().
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Acked-by: NVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff2266cd
    • D
      sis900: check for DMA map errors · 1e8edc2a
      Denis Kirjanov 提交于
      The first backtrace appears on tx path with DMA mapping operations debug
      enabled.
      
      [  345.637919] ------------[ cut here ]------------
      [  345.637971] WARNING: at lib/dma-debug.c:937 check_unmap+0x4df/0x910()
      [  345.637977] Hardware name: System Name
      [  345.637987] sis900 0000:00:01.1: DMA-API: device driver failed to check map error[device address=0x000000000d4aed02] [si
      ze=60 bytes] [mapped as single]
      [  345.637993] Modules linked in: bridge stp llc dmfe sundance 3c59x sis900
      [  345.638022] Pid: 0, comm: swapper Not tainted 3.9.0-rc6+ #4
      [  345.638028] Call Trace:
      [  345.638042]  [<c122097f>] ? check_unmap+0x4df/0x910
      [  345.638059]  [<c102b19c>] warn_slowpath_common+0x7c/0xa0
      [  345.638070]  [<c122097f>] ? check_unmap+0x4df/0x910
      [  345.638081]  [<c102b23e>] warn_slowpath_fmt+0x2e/0x30
      [  345.638092]  [<c122097f>] check_unmap+0x4df/0x910
      [  345.638107]  [<c100bfeb>] ? save_stack_trace+0x2b/0x50
      [  345.638120]  [<c107238e>] ? mark_lock+0x31e/0x5d0
      [  345.638132]  [<c1072b2c>] ? __lock_acquire+0x4ec/0x7d0
      [  345.638143]  [<c1220f6d>] debug_dma_unmap_page+0x6d/0x80
      [  345.638166]  [<cf834dec>] sis900_interrupt+0x49c/0x860 [sis900]
      [  345.638195]  [<c1094b73>] handle_irq_event_percpu+0x43/0x1c0
      [  345.638206]  [<c1094d1e>] ? handle_irq_event+0x2e/0x60
      [  345.638217]  [<c1094d27>] handle_irq_event+0x37/0x60
      [  345.638235]  [<c10973f0>] ? irq_set_chip_data+0x40/0x40
      [  345.638246]  [<c1097442>] handle_level_irq+0x52/0xa0
      [  345.638251]  <IRQ>  [<c1003629>] ? do_IRQ+0x39/0xa0
      [  345.638293]  [<c1484631>] ? common_interrupt+0x31/0x36
      [  345.638347]  [<d08c2c52>] ? br_flood_forward+0x12/0x20 [bridge]
      [  345.638364]  [<d08c2d40>] ? br_dev_queue_push_xmit+0x60/0x60 [bridge]
      [  345.638381]  [<d08c3b2b>] ? br_handle_frame_finish+0x25b/0x280 [bridge]
      [  345.638399]  [<d08c3ce3>] ? br_handle_frame+0x193/0x290 [bridge]
      [  345.638416]  [<d08c3b50>] ? br_handle_frame_finish+0x280/0x280 [bridge]
      [  345.638431]  [<c13b3c87>] ? __netif_receive_skb_core+0x1d7/0x710
      [  345.638442]  [<c13b3b19>] ? __netif_receive_skb_core+0x69/0x710
      [  345.638454]  [<c13b41e1>] ? __netif_receive_skb+0x21/0x70
      [  345.638464]  [<c13b42b5>] ? process_backlog+0x85/0x130
      [  345.638476]  [<c13b4bbb>] ? net_rx_action+0xfb/0x1d0
      [  345.638497]  [<c1032768>] ? __do_softirq+0xa8/0x1f0
      [  345.638527]  [<c147daad>] ? _raw_spin_unlock+0x1d/0x20
      [  345.638538]  [<c10038c0>] ? handle_irq+0x20/0xd0
      [  345.638550]  [<c1032f27>] ? irq_exit+0x97/0xa0
      [  345.638560]  [<c1003632>] ? do_IRQ+0x42/0xa0
      [  345.638580]  [<c104d003>] ? hrtimer_start+0x23/0x30
      [  345.638580]  [<c1484631>] ? common_interrupt+0x31/0x36
      [  345.638580]  [<c1008703>] ? default_idle+0x33/0xc0
      [  345.638580]  [<c10086ac>] ? cpu_idle+0x4c/0x70
      [  345.638580]  [<c14787e0>] ? rest_init+0xa0/0xb0
      [  345.638580]  [<c1478740>] ? reciprocal_value+0x50/0x50
      [  345.638580]  [<c16b5bcf>] ? start_kernel+0x28f/0x320
      [  345.638580]  [<c16b54e0>] ? repair_env_string+0x60/0x60
      [  345.638580]  [<c16b5269>] ? i386_start_kernel+0x39/0xa0
      [  345.638580] ---[ end trace a244264b69b8a7ae ]---
      [  345.638580] Mapped at:
      [  345.638580]  [<c1221c65>] debug_dma_map_page+0x65/0x110
      [  345.638580]  [<cf8355a9>] sis900_start_xmit+0x129/0x210 [sis900]
      [  345.638580]  [<c13b2527>] dev_hard_start_xmit+0x1b7/0x530
      [  345.638580]  [<c13cc32e>] sch_direct_xmit+0x8e/0x280
      [  345.638580]  [<c13b4e39>] dev_queue_xmit+0x1a9/0x5b0
      Signed-off-by: NDenis Kirjanov <kda@linux-powerpc.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1e8edc2a
    • N
      net/macb: fix error return code in macb_probe() · 72ca820b
      Nicolas Ferre 提交于
      Fix to return a negative error code from the error handling
      case instead of 0, as returned elsewhere in this function.
      
      Original-idea-by: <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      72ca820b
    • M
      vxlan: don't bypass encapsulation for multi- and broadcasts · ab09a6d0
      Mike Rapoport 提交于
      The multicast and broadcast packets may have RTCF_LOCAL set in rt_flags
      and therefore will be sent out bypassing encapsulation. This breaks
      delivery of packets sent to the vxlan multicast group.
      Disabling encapsulation bypass for multicasts and broadcasts fixes the
      issue.
      Signed-off-by: NMike Rapoport <mike.rapoport@ravellosystems.com>
      Tested-by: NCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: NSridhar Samudrala <sri@us.ibm.com>
      Tested-by: NSridhar Samudrala <sri@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ab09a6d0
  2. 15 4月, 2013 6 次提交
  3. 14 4月, 2013 2 次提交
  4. 13 4月, 2013 8 次提交
  5. 12 4月, 2013 18 次提交