1. 06 Nov, 2014 1 commit
    • Ronald Wahl's avatar
      mac80211: Fix regression that triggers a kernel BUG with CCMP · 4f031fa9
      Ronald Wahl authored
      Commit 7ec7c4a9 (mac80211: port CCMP to
      cryptoapi's CCM driver) introduced a regression when decrypting empty
      packets (data_len == 0). This will lead to backtraces like:
      
      (scatterwalk_start) from [<c01312f4>] (scatterwalk_map_and_copy+0x2c/0xa8)
      (scatterwalk_map_and_copy) from [<c013a5a0>] (crypto_ccm_decrypt+0x7c/0x25c)
      (crypto_ccm_decrypt) from [<c032886c>] (ieee80211_aes_ccm_decrypt+0x160/0x170)
      (ieee80211_aes_ccm_decrypt) from [<c031c628>] (ieee80211_crypto_ccmp_decrypt+0x1ac/0x238)
      (ieee80211_crypto_ccmp_decrypt) from [<c032ef28>] (ieee80211_rx_handlers+0x870/0x1d24)
      (ieee80211_rx_handlers) from [<c0330c7c>] (ieee80211_prepare_and_rx_handle+0x8a0/0x91c)
      (ieee80211_prepare_and_rx_handle) from [<c0331260>] (ieee80211_rx+0x568/0x730)
      (ieee80211_rx) from [<c01d3054>] (__carl9170_rx+0x94c/0xa20)
      (__carl9170_rx) from [<c01d3324>] (carl9170_rx_stream+0x1fc/0x320)
      (carl9170_rx_stream) from [<c01cbccc>] (carl9170_usb_tasklet+0x80/0xc8)
      (carl9170_usb_tasklet) from [<c00199dc>] (tasklet_hi_action+0x88/0xcc)
      (tasklet_hi_action) from [<c00193c8>] (__do_softirq+0xcc/0x200)
      (__do_softirq) from [<c0019734>] (irq_exit+0x80/0xe0)
      (irq_exit) from [<c0009c10>] (handle_IRQ+0x64/0x80)
      (handle_IRQ) from [<c000c3a0>] (__irq_svc+0x40/0x4c)
      (__irq_svc) from [<c0009d44>] (arch_cpu_idle+0x2c/0x34)
      
      Such packets can appear for example when using the carl9170 wireless driver
      because hardware sometimes generates garbage when the internal FIFO overruns.
      
      This patch adds an additional length check.
      
      Cc: stable@vger.kernel.org
      Fixes: 7ec7c4a9 ("mac80211: port CCMP to cryptoapi's CCM driver")
      Acked-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarRonald Wahl <ronald.wahl@raritan.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      4f031fa9
  2. 03 Nov, 2014 1 commit
  3. 30 Oct, 2014 1 commit
  4. 29 Oct, 2014 4 commits
    • Luciano Coelho's avatar
      mac80211: schedule the actual switch of the station before CSA count 0 · ff1e417c
      Luciano Coelho authored
      Due to the time it takes to process the beacon that started the CSA
      process, we may be late for the switch if we try to reach exactly
      beacon 0.  To avoid that, use count - 1 when calculating the switch time.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJouni Malinen <j@w1.fi>
      Signed-off-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      ff1e417c
    • Luciano Coelho's avatar
      mac80211: use secondary channel offset IE also beacons during CSA · 84469a45
      Luciano Coelho authored
      If we are switching from an HT40+ to an HT40- channel (or vice-versa),
      we need the secondary channel offset IE to specify what is the
      post-CSA offset to be used.  This applies both to beacons and to probe
      responses.
      
      In ieee80211_parse_ch_switch_ie() we were ignoring this IE from
      beacons and using the *current* HT information IE instead.  This was
      causing us to use the same offset as before the switch.
      
      Fix that by using the secondary channel offset IE also for beacons and
      don't ever use the pre-switch offset.  Additionally, remove the
      "beacon" argument from ieee80211_parse_ch_switch_ie(), since it's not
      needed anymore.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJouni Malinen <j@w1.fi>
      Signed-off-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      84469a45
    • Felix Fietkau's avatar
      mac80211: flush keys for AP mode on ieee80211_do_stop · 10b68487
      Felix Fietkau authored
      Userspace can add keys to an AP mode interface before start_ap has been
      called. If there have been no calls to start_ap/stop_ap in the mean
      time, the keys will still be around when the interface is brought down.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      [adjust comments, fix AP_VLAN case]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      10b68487
    • Junjie Mao's avatar
      mac80211_hwsim: release driver when ieee80211_register_hw fails · 805dbe17
      Junjie Mao authored
      The driver is not released when ieee80211_register_hw fails in
      mac80211_hwsim_create_radio, leading to the access to the unregistered (and
      possibly freed) device in platform_driver_unregister:
      
      [    0.447547] mac80211_hwsim: ieee80211_register_hw failed (-2)
      [    0.448292] ------------[ cut here ]------------
      [    0.448854] WARNING: CPU: 0 PID: 1 at ../include/linux/kref.h:47 kobject_get+0x33/0x50()
      [    0.449839] CPU: 0 PID: 1 Comm: swapper Not tainted 3.17.0-00001-gdd46990-dirty #2
      [    0.450813] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      [    0.451512]  00000000 00000000 78025e38 7967c6c6 78025e68 7905e09b 7988b480 00000000
      [    0.452579]  00000001 79887d62 0000002f 79170bb3 79170bb3 78397008 79ac9d74 00000001
      [    0.453614]  78025e78 7905e15d 00000009 00000000 78025e84 79170bb3 78397000 78025e8c
      [    0.454632] Call Trace:
      [    0.454921]  [<7967c6c6>] dump_stack+0x16/0x18
      [    0.455453]  [<7905e09b>] warn_slowpath_common+0x6b/0x90
      [    0.456067]  [<79170bb3>] ? kobject_get+0x33/0x50
      [    0.456612]  [<79170bb3>] ? kobject_get+0x33/0x50
      [    0.457155]  [<7905e15d>] warn_slowpath_null+0x1d/0x20
      [    0.457748]  [<79170bb3>] kobject_get+0x33/0x50
      [    0.458274]  [<7925824f>] get_device+0xf/0x20
      [    0.458779]  [<7925b5cd>] driver_detach+0x3d/0xa0
      [    0.459331]  [<7925a3ff>] bus_remove_driver+0x8f/0xb0
      [    0.459927]  [<7925bf80>] ? class_unregister+0x40/0x80
      [    0.460660]  [<7925bad7>] driver_unregister+0x47/0x50
      [    0.461248]  [<7925c033>] ? class_destroy+0x13/0x20
      [    0.461824]  [<7925d07b>] platform_driver_unregister+0xb/0x10
      [    0.462507]  [<79b51ba0>] init_mac80211_hwsim+0x3e8/0x3f9
      [    0.463161]  [<79b30c58>] do_one_initcall+0x106/0x1a9
      [    0.463758]  [<79b517b8>] ? if_spi_init_module+0xac/0xac
      [    0.464393]  [<79b517b8>] ? if_spi_init_module+0xac/0xac
      [    0.465001]  [<79071935>] ? parse_args+0x2f5/0x480
      [    0.465569]  [<7906b41e>] ? __usermodehelper_set_disable_depth+0x3e/0x50
      [    0.466345]  [<79b30dd9>] kernel_init_freeable+0xde/0x17d
      [    0.466972]  [<79b304d6>] ? do_early_param+0x7a/0x7a
      [    0.467546]  [<79677b1b>] kernel_init+0xb/0xe0
      [    0.468072]  [<79075f42>] ? schedule_tail+0x12/0x40
      [    0.468658]  [<79686580>] ret_from_kernel_thread+0x20/0x30
      [    0.469303]  [<79677b10>] ? rest_init+0xc0/0xc0
      [    0.469829] ---[ end trace ad8ac403ff8aef5c ]---
      [    0.470509] ------------[ cut here ]------------
      [    0.471047] WARNING: CPU: 0 PID: 1 at ../kernel/locking/lockdep.c:3161 __lock_acquire.isra.22+0x7aa/0xb00()
      [    0.472163] DEBUG_LOCKS_WARN_ON(id >= MAX_LOCKDEP_KEYS)
      [    0.472774] CPU: 0 PID: 1 Comm: swapper Tainted: G        W      3.17.0-00001-gdd46990-dirty #2
      [    0.473815] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      [    0.474492]  78025de0 78025de0 78025da0 7967c6c6 78025dd0 7905e09b 79888931 78025dfc
      [    0.475515]  00000001 79888a93 00000c59 7907f33a 7907f33a 78028000 fffe9d09 00000000
      [    0.476519]  78025de8 7905e10e 00000009 78025de0 79888931 78025dfc 78025e24 7907f33a
      [    0.477523] Call Trace:
      [    0.477821]  [<7967c6c6>] dump_stack+0x16/0x18
      [    0.478352]  [<7905e09b>] warn_slowpath_common+0x6b/0x90
      [    0.478976]  [<7907f33a>] ? __lock_acquire.isra.22+0x7aa/0xb00
      [    0.479658]  [<7907f33a>] ? __lock_acquire.isra.22+0x7aa/0xb00
      [    0.480417]  [<7905e10e>] warn_slowpath_fmt+0x2e/0x30
      [    0.480479]  [<7907f33a>] __lock_acquire.isra.22+0x7aa/0xb00
      [    0.480479]  [<79078aa5>] ? sched_clock_cpu+0xb5/0xf0
      [    0.480479]  [<7907fd06>] lock_acquire+0x56/0x70
      [    0.480479]  [<7925b5e8>] ? driver_detach+0x58/0xa0
      [    0.480479]  [<79682d11>] mutex_lock_nested+0x61/0x2a0
      [    0.480479]  [<7925b5e8>] ? driver_detach+0x58/0xa0
      [    0.480479]  [<7925b5e8>] ? driver_detach+0x58/0xa0
      [    0.480479]  [<7925b5e8>] driver_detach+0x58/0xa0
      [    0.480479]  [<7925a3ff>] bus_remove_driver+0x8f/0xb0
      [    0.480479]  [<7925bf80>] ? class_unregister+0x40/0x80
      [    0.480479]  [<7925bad7>] driver_unregister+0x47/0x50
      [    0.480479]  [<7925c033>] ? class_destroy+0x13/0x20
      [    0.480479]  [<7925d07b>] platform_driver_unregister+0xb/0x10
      [    0.480479]  [<79b51ba0>] init_mac80211_hwsim+0x3e8/0x3f9
      [    0.480479]  [<79b30c58>] do_one_initcall+0x106/0x1a9
      [    0.480479]  [<79b517b8>] ? if_spi_init_module+0xac/0xac
      [    0.480479]  [<79b517b8>] ? if_spi_init_module+0xac/0xac
      [    0.480479]  [<79071935>] ? parse_args+0x2f5/0x480
      [    0.480479]  [<7906b41e>] ? __usermodehelper_set_disable_depth+0x3e/0x50
      [    0.480479]  [<79b30dd9>] kernel_init_freeable+0xde/0x17d
      [    0.480479]  [<79b304d6>] ? do_early_param+0x7a/0x7a
      [    0.480479]  [<79677b1b>] kernel_init+0xb/0xe0
      [    0.480479]  [<79075f42>] ? schedule_tail+0x12/0x40
      [    0.480479]  [<79686580>] ret_from_kernel_thread+0x20/0x30
      [    0.480479]  [<79677b10>] ? rest_init+0xc0/0xc0
      [    0.480479] ---[ end trace ad8ac403ff8aef5d ]---
      [    0.495478] BUG: unable to handle kernel paging request at 00200200
      [    0.496257] IP: [<79682de5>] mutex_lock_nested+0x135/0x2a0
      [    0.496923] *pde = 00000000
      [    0.497290] Oops: 0002 [#1]
      [    0.497653] CPU: 0 PID: 1 Comm: swapper Tainted: G        W      3.17.0-00001-gdd46990-dirty #2
      [    0.498659] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      [    0.499321] task: 78028000 ti: 78024000 task.ti: 78024000
      [    0.499955] EIP: 0060:[<79682de5>] EFLAGS: 00010097 CPU: 0
      [    0.500620] EIP is at mutex_lock_nested+0x135/0x2a0
      [    0.501145] EAX: 00200200 EBX: 78397434 ECX: 78397460 EDX: 78025e70
      [    0.501816] ESI: 00000246 EDI: 78028000 EBP: 78025e8c ESP: 78025e54
      [    0.502497]  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      [    0.503076] CR0: 8005003b CR2: 00200200 CR3: 01b9d000 CR4: 00000690
      [    0.503773] Stack:
      [    0.503998]  00000000 00000001 00000000 7925b5e8 78397460 7925b5e8 78397474 78397460
      [    0.504944]  00200200 11111111 78025e70 78397000 79ac9d74 00000001 78025ea0 7925b5e8
      [    0.505451]  79ac9d74 fffffffe 00000001 78025ebc 7925a3ff 7a251398 78025ec8 7925bf80
      [    0.505451] Call Trace:
      [    0.505451]  [<7925b5e8>] ? driver_detach+0x58/0xa0
      [    0.505451]  [<7925b5e8>] ? driver_detach+0x58/0xa0
      [    0.505451]  [<7925b5e8>] driver_detach+0x58/0xa0
      [    0.505451]  [<7925a3ff>] bus_remove_driver+0x8f/0xb0
      [    0.505451]  [<7925bf80>] ? class_unregister+0x40/0x80
      [    0.505451]  [<7925bad7>] driver_unregister+0x47/0x50
      [    0.505451]  [<7925c033>] ? class_destroy+0x13/0x20
      [    0.505451]  [<7925d07b>] platform_driver_unregister+0xb/0x10
      [    0.505451]  [<79b51ba0>] init_mac80211_hwsim+0x3e8/0x3f9
      [    0.505451]  [<79b30c58>] do_one_initcall+0x106/0x1a9
      [    0.505451]  [<79b517b8>] ? if_spi_init_module+0xac/0xac
      [    0.505451]  [<79b517b8>] ? if_spi_init_module+0xac/0xac
      [    0.505451]  [<79071935>] ? parse_args+0x2f5/0x480
      [    0.505451]  [<7906b41e>] ? __usermodehelper_set_disable_depth+0x3e/0x50
      [    0.505451]  [<79b30dd9>] kernel_init_freeable+0xde/0x17d
      [    0.505451]  [<79b304d6>] ? do_early_param+0x7a/0x7a
      [    0.505451]  [<79677b1b>] kernel_init+0xb/0xe0
      [    0.505451]  [<79075f42>] ? schedule_tail+0x12/0x40
      [    0.505451]  [<79686580>] ret_from_kernel_thread+0x20/0x30
      [    0.505451]  [<79677b10>] ? rest_init+0xc0/0xc0
      [    0.505451] Code: 89 d8 e8 cf 9b 9f ff 8b 4f 04 8d 55 e4 89 d8 e8 72 9d 9f ff 8d 43 2c 89 c1 89 45 d8 8b 43 30 8d 55 e4 89 53 30 89 4d e4 89 45 e8 <89> 10 8b 55 dc 8b 45 e0 89 7d ec e8 db af 9f ff eb 11 90 31 c0
      [    0.505451] EIP: [<79682de5>] mutex_lock_nested+0x135/0x2a0 SS:ESP 0068:78025e54
      [    0.505451] CR2: 0000000000200200
      [    0.505451] ---[ end trace ad8ac403ff8aef5e ]---
      [    0.505451] Kernel panic - not syncing: Fatal exception
      
      Fixes: 9ea92774 ("mac80211_hwsim: Register and bind to driver")
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarJunjie Mao <eternal.n08@gmail.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      805dbe17
  5. 20 Oct, 2014 1 commit
    • Karl Beldan's avatar
      mac80211: minstrels: fix buffer overflow in HT debugfs rc_stats · 11b2357d
      Karl Beldan authored
      ATM an HT rc_stats line is 106 chars.
      Times 8(MCS_GROUP_RATES)*3(SS)*2(GI)*2(BW) + CCK(4), i.e. x100, this is
      well above the current 8192 - sizeof(*ms) currently allocated.
      
      Fix this by squeezing the output as follows (not that we're short on
      memory but this also improves readability and range, the new format adds
      one more digit to *ok/*cum and ok/cum):
      
      - Before (HT) (106 ch):
      type           rate     throughput  ewma prob   this prob  retry   this succ/attempt   success    attempts
      CCK/LP          5.5M           0.0        0.0         0.0      0              0(  0)         0           0
      HT20/LGI ABCDP MCS0            0.0        0.0         0.0      1              0(  0)         0           0
      - After (75 ch):
      type           rate     tpt eprob *prob ret  *ok(*cum)        ok(      cum)
      CCK/LP          5.5M    0.0   0.0   0.0   0    0(   0)         0(        0)
      HT20/LGI ABCDP MCS0     0.0   0.0   0.0   1    0(   0)         0(        0)
      
      - Align non-HT format Before (non-HT) (83 ch):
      rate      throughput  ewma prob  this prob  this succ/attempt   success    attempts
      ABCDP  6         0.0        0.0        0.0             0(  0)         0           0
            54         0.0        0.0        0.0             0(  0)         0           0
      - After (61 ch):
      rate          tpt eprob *prob  *ok(*cum)        ok(      cum)
      ABCDP  1      0.0   0.0   0.0    0(   0)         0(        0)
            54      0.0   0.0   0.0    0(   0)         0(        0)
      
      *This also adds dynamic checks for overflow, lowers the size of the
      non-HT request (allowing > 30 entries) and replaces the buddy-rounded
      allocations (s/sizeof(*ms) + 8192/8192).
      Signed-off-by: default avatarKarl Beldan <karl.beldan@rivierawaves.com>
      Acked-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      11b2357d
  6. 14 Oct, 2014 1 commit
    • Karl Beldan's avatar
      mac80211: fix typo in starting baserate for rts_cts_rate_idx · c7abf25a
      Karl Beldan authored
      It affects non-(V)HT rates and can lead to selecting an rts_cts rate
      that is not a basic rate or way superior to the reference rate (ATM
      rates[0] used for the 1st attempt of the protected frame data).
      
      E.g, assuming drivers register growing (bitrate) sorted tables of
      ieee80211_rate-s, having :
      - rates[0].idx == d'2 and basic_rates == b'10100
      will select rts_cts idx b'10011 & ~d'(BIT(2)-1), i.e. 1, likewise
      - rates[0].idx == d'2 and basic_rates == b'10001
      will select rts_cts idx b'10000
      The first is not a basic rate and the second is > rates[0].
      
      Also, wrt severity of the addressed misbehavior, ATM we only have one
      rts_cts_rate_idx rather than one per rate table entry, so this idx might
      still point to bitrates > rates[1..MAX_RATES].
      
      Fixes: 5253ffb8 ("mac80211: always pick a basic rate to tx RTS/CTS for pre-HT rates")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarKarl Beldan <karl.beldan@rivierawaves.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c7abf25a
  7. 09 Oct, 2014 5 commits
    • Luciano Coelho's avatar
      nl80211: sanity check the channel switch counter value · 252e07ca
      Luciano Coelho authored
      The nl80211 channel switch count attribute
      (NL80211_ATTR_CH_SWITCH_COUNT) is specified as u32, but the
      specification uses u8 for the counter.  To make sure strange things
      don't happen without informing the user, sanity check the value and
      return -EINVAL if it doesn't fit in u8.
      Signed-off-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      252e07ca
    • Fabian Frederick's avatar
      net: rfkill: kernel-doc warning fixes · bc37b168
      Fabian Frederick authored
      Correct the kernel-doc, the parameter is called "blocked" not "state".
      Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      bc37b168
    • Luciano Coelho's avatar
      mac80211: return the vif's chandef in ieee80211_cfg_get_channel() · c12bc488
      Luciano Coelho authored
      The chandef of the channel context a vif is using may be different
      than the chandef of the vif itself.  For instance, the bandwidth used
      by the vif may be narrower than the one configured in the channel
      context.  To avoid confusion, return the vif's chandef in
      ieee80211_cfg_get_channel() instead of the chandef of the channel
      context.
      Signed-off-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c12bc488
    • Liad Kaufman's avatar
      mac80211: fix warning on htmldocs for last_tdls_pkt_time · 8975ae88
      Liad Kaufman authored
      Forgot to add an entry to the struct description of sta_info.
      Signed-off-by: default avatarLiad Kaufman <liad.kaufman@intel.com>
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8975ae88
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 35a9ad8a
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Most notable changes in here:
      
         1) By far the biggest accomplishment, thanks to a large range of
            contributors, is the addition of multi-send for transmit.  This is
            the result of discussions back in Chicago, and the hard work of
            several individuals.
      
            Now, when the ->ndo_start_xmit() method of a driver sees
            skb->xmit_more as true, it can choose to defer the doorbell
            telling the driver to start processing the new TX queue entires.
      
            skb->xmit_more means that the generic networking is guaranteed to
            call the driver immediately with another SKB to send.
      
            There is logic added to the qdisc layer to dequeue multiple
            packets at a time, and the handling mis-predicted offloads in
            software is now done with no locks held.
      
            Finally, pktgen is extended to have a "burst" parameter that can
            be used to test a multi-send implementation.
      
            Several drivers have xmit_more support: i40e, igb, ixgbe, mlx4,
            virtio_net
      
            Adding support is almost trivial, so export more drivers to
            support this optimization soon.
      
            I want to thank, in no particular or implied order, Jesper
            Dangaard Brouer, Eric Dumazet, Alexander Duyck, Tom Herbert, Jamal
            Hadi Salim, John Fastabend, Florian Westphal, Daniel Borkmann,
            David Tat, Hannes Frederic Sowa, and Rusty Russell.
      
         2) PTP and timestamping support in bnx2x, from Michal Kalderon.
      
         3) Allow adjusting the rx_copybreak threshold for a driver via
            ethtool, and add rx_copybreak support to enic driver.  From
            Govindarajulu Varadarajan.
      
         4) Significant enhancements to the generic PHY layer and the bcm7xxx
            driver in particular (EEE support, auto power down, etc.) from
            Florian Fainelli.
      
         5) Allow raw buffers to be used for flow dissection, allowing drivers
            to determine the optimal "linear pull" size for devices that DMA
            into pools of pages.  The objective is to get exactly the
            necessary amount of headers into the linear SKB area pre-pulled,
            but no more.  The new interface drivers use is eth_get_headlen().
            From WANG Cong, with driver conversions (several had their own
            by-hand duplicated implementations) by Alexander Duyck and Eric
            Dumazet.
      
         6) Support checksumming more smoothly and efficiently for
            encapsulations, and add "foo over UDP" facility.  From Tom
            Herbert.
      
         7) Add Broadcom SF2 switch driver to DSA layer, from Florian
            Fainelli.
      
         8) eBPF now can load programs via a system call and has an extensive
            testsuite.  Alexei Starovoitov and Daniel Borkmann.
      
         9) Major overhaul of the packet scheduler to use RCU in several major
            areas such as the classifiers and rate estimators.  From John
            Fastabend.
      
        10) Add driver for Intel FM10000 Ethernet Switch, from Alexander
            Duyck.
      
        11) Rearrange TCP_SKB_CB() to reduce cache line misses, from Eric
            Dumazet.
      
        12) Add Datacenter TCP congestion control algorithm support, From
            Florian Westphal.
      
        13) Reorganize sk_buff so that __copy_skb_header() is significantly
            faster.  From Eric Dumazet"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1558 commits)
        netlabel: directly return netlbl_unlabel_genl_init()
        net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers
        net: description of dma_cookie cause make xmldocs warning
        cxgb4: clean up a type issue
        cxgb4: potential shift wrapping bug
        i40e: skb->xmit_more support
        net: fs_enet: Add NAPI TX
        net: fs_enet: Remove non NAPI RX
        r8169:add support for RTL8168EP
        net_sched: copy exts->type in tcf_exts_change()
        wimax: convert printk to pr_foo()
        af_unix: remove 0 assignment on static
        ipv6: Do not warn for informational ICMP messages, regardless of type.
        Update Intel Ethernet Driver maintainers list
        bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING
        tipc: fix bug in multicast congestion handling
        net: better IFF_XMIT_DST_RELEASE support
        net/mlx4_en: remove NETDEV_TX_BUSY
        3c59x: fix bad split of cpu_to_le32(pci_map_single())
        net: bcmgenet: fix Tx ring priority programming
        ...
      35a9ad8a
  8. 08 Oct, 2014 26 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d5935b07
      Linus Torvalds authored
      Pull ARM64 SoC changes from Arnd Bergmann:
       "Starting with 3.18, we are merging SoC-specific changes for arm64
        through the arm-soc tree, like we have been doing for arm32.
      
        This time, there is only one set of changes, adding support for the
        Cavium "Thunder" Soc family.  Since the changes are relatively small,
        this includes Kconfig, defconfig and DT changes.
      
        If all goes well, we will never require adding actual C source code
        for platform support in arm64, given that the architecture is more
        clearly defined and we have moved out a lot of the platform specifics
        into device drivers for arm32 already"
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64, defconfig: Enable Cavium Thunder SoC in defconfig
        arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family
        arm64, thunder: Document devicetree bindings for Cavium Thunder SoC
        arm64, thunder: Add initial dts for Cavium Thunder SoC
      d5935b07
    • Linus Torvalds's avatar
      Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f86dc4b0
      Linus Torvalds authored
      Pull ARM SoC defconfig changes from Arnd Bergmann:
       "This is a collection of the various changes to defconfig files, most
        importantly enabling some additional platforms in the
        multi_v7_defconfig file"
      
      * tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
        ARM: configs: fix duplicate entry in multi_v7
        ARM: multi_v7_defconfig: add missing Tegra options
        ARM: bcm2835: enable USB_DWC2_HOST in defconfig
        ARM: meson: update multi_v7_defconfig
        ARM: multi_v7_defconfig: Enable Mediatek platform
        ARM: qcom: Update defconfig
        ARM: mvebu: add gpio-fan to mvebu_v7_defconfig
        ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig
        ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig
        ARM: LPC32xx: defconfig update
        ARM: configs: Enable cpufreq-cpu0 for multi_v7_defconfig
        ARM: configs: Remove REGULATOR_VIRTUAL_CONSUMER from defconfigs
        ARM: tegra: enable Atmel touchpad in defconfig
        ARM: at91: sama5: update defconfig
        ARM: at91: at91sam9rl: update defconfig
        ARM: at91: at91sam9g45: update defconfig
        ARM: at91: at91sam9263: update defconfig
        ARM: at91: at91sam9261_9g10: update defconfig
        ARM: at91: at91sam9260_9g20: update defconfig
        ARM: at91: at91_dt: update defconfig
        ...
      f86dc4b0
    • Linus Torvalds's avatar
      Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8b45bc89
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "These are changes for drivers that are intimately tied to some SoC and
        for some reason could not get merged through the respective subsystem
        maintainer tree.
      
        Most of the new code is for the Keystone Navigator driver, which is
        new base support that is going to be needed for their hardware
        accelerated network driver and other units.
      
        Most of the commits are for moving old code around from at91 and omap
        for things that are done in device drivers nowadays.
      
         - at91: move reset, poweroff, memory and clocksource code into
           drivers directories
         - socfpga: add edac driver (through arm-soc, as requested by Boris)
         - omap: move omap-intc code to drivers/irqchip
         - sunxi: added an RTC driver for sun6i
         - omap: mailbox driver related changes
         - keystone: support for the "Navigator" component
         - versatile: new reboot, led and soc drivers"
      
      * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
        bus: arm-ccn: Fix spurious warning message
        leds: add device tree bindings for register bit LEDs
        soc: add driver for the ARM RealView
        power: reset: driver for the Versatile syscon reboot
        leds: add a driver for syscon-based LEDs
        drivers/soc: ti: fix build break with modules
        MAINTAINERS: Add Keystone Multicore Navigator drivers entry
        soc: ti: add Keystone Navigator DMA support
        Documentation: dt: soc: add Keystone Navigator DMA bindings
        soc: ti: add Keystone Navigator QMSS driver
        Documentation: dt: soc: add Keystone Navigator QMSS bindings
        rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc
        rtc: sun6i: Add sun6i RTC driver
        irqchip: omap-intc: remove unnecessary comments
        irqchip: omap-intc: correct maximum number or MIR registers
        irqchip: omap-intc: enable TURBO idle mode
        irqchip: omap-intc: enable IP protection
        irqchip: omap-intc: remove unnecesary of_address_to_resource() call
        irqchip: omap-intc: comment style cleanup
        irqchip: omap-intc: minor improvement to omap_irq_pending()
        ...
      8b45bc89
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · eb785bef
      Linus Torvalds authored
      Pull ARM SoC DT updates from Arnd Bergmann:
       "As usual, this is the largest branch, though this time a little under
        half of the total changes with 307 individual non-merge changesets.
      
        The largest changes are the addition of new machines, in particular
        the Tegra based Chromebook, the Renesas r8a7794 SoC, and DT support
        for the old i.MX1 platform.
      
        Other changes include
         - at91: various sam9 and sama5 updates
         - exynos: much extended Peach Pi/Pit (Chromebook 2) support
         - keystone: new peripherals
         - meson: added DT for meson6 SoC
         - mvebu: new device support for Armada 370/375
         - qcom: improved support for IPQ8064 and MSM8x60
         - rockchip: much improved support for rk3288
         - shmobile: lots of updates all over the place
         - sunxi: dts license change
         - sunxi: more a23 device support
         - vexpress: CLCD DT description"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (308 commits)
        ARM: DTS: meson: update DTSI to add watchdog node
        ARM: dts: keystone-k2l: fix mdio io start address
        ARM: dts: keystone-k2e: fix mdio io start address
        ARM: dts: keystone-k2e: update usb1 node for dma properties
        ARM: dts: keystone: fix io range for usb_phy0
        Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt"
        Revert "ARM: dts: hix5hd2: add wdg node"
        ARM: dts: add rk3288 i2s controller
        ARM: vexpress: Add CLCD Device Tree properties
        ARM: bcm2835: add I2S pinctrl to device tree
        ARM: meson: documentation: add bindings documentation
        ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS
        ARM: dts: mt6589: Change compatible string for GIC
        ARM: dts: mediatek: Add compatible property for aquaris5
        ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk
        ARM: dts: mt6589: Fix typo in GIC unit address
        ARM: dts: Build dtb for Mediatek board
        ARM: dts: keystone: fix bindings for pcie and usb clock nodes
        ARM: dts: keystone: k2l: Fix chip selects for SPI devices
        ARM: dts: keystone: add dsp gpio controllers nodes
        ...
      eb785bef
    • Linus Torvalds's avatar
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cf377ad7
      Linus Torvalds authored
      Pull ARM SoC platform changes from Arnd Bergmann:
       "New and updated SoC support.  Among the things new for this release
        are:
      
         - at91: Added support for the new SAMA5D4 SoC, following the earlier
           SAMA5D3
         - bcm: Added support for BCM63XX family of DSL SoCs
         - hisi: Added support for HiP04 server-class SoC
         - meson: Initial support for the Amlogic Meson6 (aka 8726MX) platform
         - shmobile: added support for new r8a7794 (R-Car E2) automotive SoC
      
        Noteworthy changes to existing SoC support are:
      
         - imx: convert i.MX1 to device tree
         - omap: lots of power management work
         - omap: base support to enable moving to standard UART driver
         - shmobile: lots of progress for multiplatform support, still
           ongoing"
      
      * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (171 commits)
        ARM: hisi: depend on ARCH_MULTI_V7
        CNS3xxx: Fix debug UART.
        ARM: at91: fix nommu build regression
        ARM: meson: add basic support for MesonX SoCs
        ARM: meson: debug: add debug UART for earlyprintk support
        irq: Export handle_fasteoi_irq
        ARM: mediatek: Add earlyprintk support for mt6589
        ARM: hisi: Fix platmcpm compilation when ARMv6 is selected
        ARM: debug: fix alphanumerical order on debug uarts
        ARM: at91: document Atmel SMART compatibles
        ARM: at91: add sama5d4 support to sama5_defconfig
        ARM: at91: dt: add device tree file for SAMA5D4ek board
        ARM: at91: dt: add device tree file for SAMA5D4 SoC
        ARM: at91: SAMA5D4 SoC detection code and low level routines
        ARM: at91: introduce basic SAMA5D4 support
        clk: at91: add a driver for the h32mx clock
        ARM: pxa3xx: provide specific platform_devices for all ssp ports
        ARM: pxa: ssp: provide platform_device_id for PXA3xx
        ARM: OMAP4+: Remove static iotable mappings for SRAM
        ARM: OMAP4+: Move SRAM data to DT
        ...
      cf377ad7
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 212fe84a
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "This time around, the cleanup branch contains mostly code removal.  A
        number of board files for at91, imx and msm have become obsolete
        because of the DT conversion and are now ready to be removed.  The
        OMAP platform has traditionally had its own DMA engine abstraction and
        as this is being phased out, a lot of the original code is now unused
        and can be removed as well.
      
        S3C24xx can be simplified now that the restart code is a proper device
        driver.
      
        Finally, a number of cleanups in shmobile are done to prepare for the
        addition of new code in other branches"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
        ARM: at91: Remove the support for the RSI EWS board
        arm: mach-omap2: Convert pr_warning to pr_warn
        ARM: OMAP: Remove unused pieces of legacy DMA API
        ARM: at91: remove board file for Acme Systems Fox G20
        ARM: orion5x: Convert pr_warning to pr_warn
        ARM: S3C24XX: remove separate restart code
        ARM: EXYNOS: Do not calculate boot address twice
        ARM: sunxi: Remove sun4i reboot code from mach directory
        ARM: imx: Remove mach-mxt_td60 board file
        ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains()
        ARM: shmobile: r8a7740: Clean up pm domain table
        ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains()
        ARM: shmobile: sh7372: Make domain_devices[] static __initdata
        ARM: shmobile: mackerel: Make domain_devices[] static __initdata
        clocksource: tcb_clksrc: sanitize IRQ request
        ARM: at91/tclib: mask interruptions at shutdown and probe
        ARM: at91/tclib: move initialization from alloc to probe
        ARM: at91/tclib: prefer using of devm_* functions
        ARM: clps711x: Switch CLPS711X subarch to use clk and clocksource driver
        ARM: shmobile: r8a7791 is now called "R-Car M2-W"
        ...
      212fe84a
    • Linus Torvalds's avatar
      Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4a4743e8
      Linus Torvalds authored
      Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
       "These are bug fixes for harmless problems that were not important
        enough to get fixed in 3.17.  The majority of these are OMAP specific,
        but there are also a couple for Marvell mvebu, cns3xxx, and others, as
        well as some updates for the MAINTAINERS file.
      
        In particular, Robert Jarzmik and Daniel Mack now volunteered to help
        out maintaining the PXA platform, Krzysztof Halasa took over the
        cns3xxx platform, Carlo Caione is the maintainer for the new Amlogic
        meson platform, and Matthias Brugger is now listed for the mediatek
        platform he recently contributed"
      
      * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
        MAINTAINERS: update Shawn's email address
        MAINTAINERS: condense some Tegra related entries
        MAINTAINERS: add Alexandre Courbot for Tegra
        MAINTAINERS: CNS3xxx and IXP4xx update.
        MAINTAINERS: Add maintainers entry for Mediatek SoCs
        arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500
        MAINTAINERS: add a third maintainer to mach-bcm
        CNS3xxx: Fix PCIe read size limit.
        CNS3xxx: Fix logical PCIe topology.
        CNS3xxx: Fix debug UART.
        MAINTAINERS: Add entry for the Amlogic MesonX SoCs
        MAINTAINERS: update ARM pxa maintainers
        ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks
        ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings
        ARM: mvebu: Netgear RN102: Use Hardware BCH ECC
        ARM: Kirkwood: Fix DT based DSA.
        ARM: OMAP2+: make of_device_ids const
        ARM: omap2: make arrays containing machine compatible strings const
        ARM: LPC32xx: Fix reset function
        ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC
        ...
      4a4743e8
    • David S. Miller's avatar
    • Fabian Frederick's avatar
      netlabel: directly return netlbl_unlabel_genl_init() · 16b99a4f
      Fabian Frederick authored
      No need to store netlbl_unlabel_genl_init result and test it before returning.
      Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16b99a4f
    • Eric Dumazet's avatar
      net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers · 53511453
      Eric Dumazet authored
      Add two helpers so that drivers do not have to care of BQL being
      available or not.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarJim Davis <jim.epost@gmail.com>
      Fixes: 29d40c90 ("net/mlx4_en: Use prefetch in tx path")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53511453
    • Masanari Iida's avatar
      net: description of dma_cookie cause make xmldocs warning · 709c48b3
      Masanari Iida authored
      In commit 7bced397,
      dma_cookie was removed from struct skbuff.
      But the description of dma_cookie still exist.
      So the "make xmldocs" output following warning.
      
      Warning(.//include/linux/skbuff.h:609): Excess struct/union
      /enum/typedef member 'dma_cookie' description in 'sk_buff'
      
      Remove description of dma_cookie fix the symptom.
      Signed-off-by: default avatarMasanari Iida <standby24x7@gmail.com>
      Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      709c48b3
    • Dan Carpenter's avatar
      cxgb4: clean up a type issue · fb5ac0de
      Dan Carpenter authored
      The tx_desc struct holds 8 __be64 values.  The original code in
      ring_tx_db() took a tx_desc pointer then casted it to an int pointer and
      then casted it to a u64 pointer.  It was confusing and triggered some
      static checker warnings.
      
      I have changed the cxgb_pio_copy() function to only take tx_desc
      pointers.  This isn't really a loss of flexibility because anything else
      was buggy to begin with.
      
      I also removed the casting on the destination pointer since that was
      unnecessary and a bit messy.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fb5ac0de
    • Dan Carpenter's avatar
      cxgb4: potential shift wrapping bug · 9fef8478
      Dan Carpenter authored
      "cntxt_id" is an unsigned int but "udb" is a u64 so there is a potential
      shift wrapping bug here.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9fef8478
    • Eric Dumazet's avatar
      i40e: skb->xmit_more support · 4567dc10
      Eric Dumazet authored
      Support skb->xmit_more in i40e is straightforward : we need to move
      around i40e_maybe_stop_tx() call to correctly test netif_xmit_stopped()
      before taking the decision to not kick the NIC.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4567dc10
    • David S. Miller's avatar
      Merge branch 'fs_enet_napi' · 44783d87
      David S. Miller authored
      Christophe Leroy says:
      
      ====================
      net: fs_enet: Remove non NAPI RX and add NAPI for TX
      
      When using a MPC8xx as a router, 'perf' shows a significant time spent in
      fs_enet_interrupt() and fs_enet_start_xmit().
      'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent
      between spin_unlock_irqrestore() and the following instruction, hence in
      interrupt handling. This is due to the TX complete interrupt that fires after
      each transmitted packet.
      This patchset first remove all non NAPI handling as NAPI has become the only
      mode for RX, then adds NAPI for handling TX complete.
      This improves NAT TCP throughput by 21% on MPC885 with FEC.
      
      Tested on MPC885 with FEC.
      
      [PATCH 1/2] net: fs_enet: Remove non NAPI RX
      [PATCH 2/2] net: fs_enet: Add NAPI TX
      Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      44783d87
    • LEROY Christophe's avatar
      net: fs_enet: Add NAPI TX · d43a396a
      LEROY Christophe authored
      When using a MPC8xx as a router, 'perf' shows a significant time spent in
      fs_enet_interrupt() and fs_enet_start_xmit().
      'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent
      between spin_unlock_irqrestore() and the following instruction, hence in
      interrupt handling. This is due to the TX complete interrupt that fires after
      each transmitted packet.
      This patch modifies the handling of TX complete to use NAPI.
      With this patch, my NAT router offers a throughput improved by 21%
      
      Original performance:
      
      [root@localhost tmp]# scp toto pgs:/tmp
      toto                                          100%  256MB   2.8MB/s   01:31
      
      Performance with the patch:
      
      [root@localhost tmp]# scp toto pgs:/tmp
      toto                                          100%  256MB   3.4MB/s   01:16
      Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d43a396a
    • LEROY Christophe's avatar
      net: fs_enet: Remove non NAPI RX · 583d4a68
      LEROY Christophe authored
      In the probe function, use_napi is inconditionnaly set to 1. This patch removes
      all the code which is conditional to !use_napi, and removes use_napi which has
      then become useless.
      Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      583d4a68
    • Chun-Hao Lin's avatar
      r8169:add support for RTL8168EP · 935e2218
      Chun-Hao Lin authored
      RTL8168EP is Realtek PCIe Gigabit Ethernet controller with DASH support.
      It is a successor chip of RTL8168DP.
      
      For RTL8168EP, the read/write ocp register is via eri channel type 2, so I
      move ocp_xxx() related functions under rtl_eri_xxx. And use r8168dp_ocp_xxx()
      for RTL8168DP ocp read/write, r8168ep_ocp_xxx() for RTL8168EP ocp read/write.
      
      The way of checking dash enable is different with RTL8168DP. I use
      r8168dp_check_dash()for RTL8168DP and r8168ep_check_dash() for RTL8168EP,
      to check if dash is enabled.
      
      The driver_start() and driver_stop() of RTL8168EP is also different with
      RTL8168DP. I use rtl8168dp_driver_xxx() for RTL8168DP and
      rtl8168ep_driver_xxx for RTL8168EP.
      
      Right now, RTL8168EP phy mcu did not need firmware code patch, so I did not
      add firmware code for it.
      so I did not add firmware code for it.
      Signed-off-by: default avatarChun-Hao Lin <hau@realtek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      935e2218
    • WANG Cong's avatar
      net_sched: copy exts->type in tcf_exts_change() · 5301e3e1
      WANG Cong authored
      We need to copy exts->type when committing the change, otherwise
      it would be always 0. This is a quick fix for -net and -stable,
      for net-next tcf_exts will be removed.
      
      Fixes: commit 33be6271 ("net_sched: act: use standard struct list_head")
      Reported-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5301e3e1
    • Pawel Moll's avatar
      bus: arm-ccn: Fix spurious warning message · fa637bf0
      Pawel Moll authored
      Because CCN's cycle counter always runs, it will generate
      an interrupt on overflow even if the relevant perf event
      was not requested, causing a spurious warning message.
      
      Fixed now by warning on only normal counter unwanted
      overflows. Also cleaning the overflow mask at init now,
      not to warn on event previously requested by firmware.
      Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      fa637bf0
    • Shawn Guo's avatar
      MAINTAINERS: update Shawn's email address · 5df27823
      Shawn Guo authored
      My Freescale email address will be gone shortly.  Update my email to be
      the Linaro one.
      Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      5df27823
    • Stephen Warren's avatar
      MAINTAINERS: condense some Tegra related entries · 356d4142
      Stephen Warren authored
      There's little point having specific entries in MAINTAINERS for Tegra
      drivers that are already covered by the top-level Tegra architecture
      support entry, and maintained by people listed there. Remove the
      duplicates.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      356d4142
    • Stephen Warren's avatar
      MAINTAINERS: add Alexandre Courbot for Tegra · 554077c5
      Stephen Warren authored
      I'd like to propose Alexandre Courbot as an additional Tegra maintainer.
      He's been working on a variety of Tegra-related code for a while, and
      is now officially tasked with working on upstream support.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      --
      v2:
      * Use Alexandre's full name.
      * Use a non-NVIDIA email address to avoid Exchange Server patch corruption.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      554077c5
    • Arnd Bergmann's avatar
      Merge tag 'meson-wdt-dt-3.18' of https://github.com/carlocaione/linux-meson into next/dt · ee48874d
      Arnd Bergmann authored
      Merge "Meson6 WDT support" from Carlo Caione:
      
      This patch adds the support for the Meson6 watchdog in the DTSI
      
      * tag 'meson-wdt-dt-3.18' of https://github.com/carlocaione/linux-meson:
        ARM: DTS: meson: update DTSI to add watchdog node
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      ee48874d
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · da01e614
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "This patch-set introduces a couple of new features such as large
        sector size, FITRIM, and atomic/volatile writes.
      
        Several patches enhance power-off recovery and checkpoint routines.
      
        The fsck.f2fs starts to support fixing corrupted partitions with
        recovery hints provided by this patch-set.
      
        Summary:
         - retain some recovery information for fsck.f2fs
         - enhance checkpoint speed
         - enhance flush command management
         - bug fix for lseek
         - tune in-place-update policies
         - enhance roll-forward speed
         - revisit all the roll-forward and fsync rules
         - support larget sector size
         - support FITRIM
         - support atomic and volatile writes
      
        And several clean-ups and bug fixes are included"
      
      * tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits)
        f2fs: support volatile operations for transient data
        f2fs: support atomic writes
        f2fs: remove unused return value
        f2fs: clean up f2fs_ioctl functions
        f2fs: potential shift wrapping buf in f2fs_trim_fs()
        f2fs: call f2fs_unlock_op after error was handled
        f2fs: check the use of macros on block counts and addresses
        f2fs: refactor flush_nat_entries to remove costly reorganizing ops
        f2fs: introduce FITRIM in f2fs_ioctl
        f2fs: introduce cp_control structure
        f2fs: use more free segments until SSR is activated
        f2fs: change the ipu_policy option to enable combinations
        f2fs: fix to search whole dirty segmap when get_victim
        f2fs: fix to clean previous mount option when remount_fs
        f2fs: skip punching hole in special condition
        f2fs: support large sector size
        f2fs: fix to truncate blocks past EOF in ->setattr
        f2fs: update i_size when __allocate_data_block
        f2fs: use MAX_BIO_BLOCKS(sbi)
        f2fs: remove redundant operation during roll-forward recovery
        ...
      da01e614
    • Linus Torvalds's avatar
      Merge branch 'for-3.18' of git://linux-nfs.org/~bfields/linux · 6dea0737
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Highlights:
      
         - support the NFSv4.2 SEEK operation (allowing clients to support
           SEEK_HOLE/SEEK_DATA), thanks to Anna.
         - end the grace period early in a number of cases, mitigating a
           long-standing annoyance, thanks to Jeff
         - improve SMP scalability, thanks to Trond"
      
      * 'for-3.18' of git://linux-nfs.org/~bfields/linux: (55 commits)
        nfsd: eliminate "to_delegation" define
        NFSD: Implement SEEK
        NFSD: Add generic v4.2 infrastructure
        svcrdma: advertise the correct max payload
        nfsd: introduce nfsd4_callback_ops
        nfsd: split nfsd4_callback initialization and use
        nfsd: introduce a generic nfsd4_cb
        nfsd: remove nfsd4_callback.cb_op
        nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence
        nfsd: fix nfsd4_cb_recall_done error handling
        nfsd4: clarify how grace period ends
        nfsd4: stop grace_time update at end of grace period
        nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients
        nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls
        nfsd: serialize nfsdcltrack upcalls for a particular client
        nfsd: pass extra info in env vars to upcalls to allow for early grace period end
        nfsd: add a v4_end_grace file to /proc/fs/nfsd
        lockd: add a /proc/fs/lockd/nlm_end_grace file
        nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE
        nfsd: remove redundant boot_time parm from grace_done client tracking op
        ...
      6dea0737