Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1388536 > unrolled thread

[PATCH 3.2 000/115] 3.2.80-rc1 review

Started byBen Hutchings <ben@decadent.org.uk>
First post2016-04-27 02:50 +0200
Last post2016-04-27 05:40 +0200
Articles 20 on this page of 22 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 3.2 000/115] 3.2.80-rc1 review Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 006/115] [media] saa7134: Fix bytesperline not being  set correctly for planar formats Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 014/115] [media] bttv: Width must be a multiple of 16  when capturing planar formats Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 114/115] jme: Fix device PM wakeup API usage Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 018/115] drivers/misc/ad525x_dpot: AD5274 fix RDAC  read back errors Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 008/115] Bluetooth: Add new AR3012 ID 0489:e095 Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 019/115] usb: hub: fix a typo in hub_port_init()  leading to wrong logic Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 007/115] Bluetooth: btusb: Add new AR3012 ID 13d3:3395 Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 115/115] netfilter: x_tables: fix unconditional helper Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 003/115] 8250: use callbacks to access UART_DLL/UART_DLM Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 013/115] Bluetooth: btusb: Add a new AR3012 ID 04ca:3014 Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 005/115] usb: retry reset if a device times out Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 010/115] mac80211: avoid excessive stack usage in sta_info Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 017/115] xfs: fix two memory leaks in xfs_attr_list.c  error paths Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 001/115] EDAC, amd64_edac: Shift wrapping issue in  f1x_get_norm_dct_addr() Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 011/115] mac80211: fix memory leak Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 002/115] [media] pwc: Add USB id for Philips Spc880nc  webcam Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 012/115] PCI: Disable IO/MEM decoding for devices with  non-compliant BARs Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 113/115] jme: Do not enable NIC WoL functions on S0 Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 009/115] aacraid: Fix memory leak in aac_fib_map_free Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    [PATCH 3.2 015/115] watchdog: rc32434_wdt: fix ioctl error handling Ben Hutchings <ben@decadent.org.uk> - 2016-04-27 02:50 +0200
    Re: [PATCH 3.2 000/115] 3.2.80-rc1 review Guenter Roeck <linux@roeck-us.net> - 2016-04-27 05:40 +0200

Page 1 of 2  [1] 2  Next page →


#1388536 — [PATCH 3.2 000/115] 3.2.80-rc1 review

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 000/115] 3.2.80-rc1 review
Message-ID<rskqS-7Qj-19@gated-at.bofh.it>
This is the start of the stable review cycle for the 3.2.80 release.
There are 115 patches in this series, which will be posted as responses
to this one.  If anyone has any issues with these being applied, please
let me know.

Responses should be made by Sat Apr 30 22:00:00 UTC 2016.
Anything received after that time might be too late.

A combined patch relative to 3.2.79 will be posted as an additional
response to this.  A shortlog and diffstat can be found below.

Ben.

-------------

Andy Lutomirski (2):
      x86/iopl/64: Properly context-switch IOPL on Xen PV
         [b7a584598aea7ca73140cb87b40319944dd3393f]
      x86/iopl: Fix iopl capability check on Xen PV
         [c29016cf41fe9fa994a5ecca607cf5f1cd98801e]

Arnaldo Carvalho de Melo (1):
      net: Fix use after free in the recvmmsg exit path
         [34b88a68f26a75e4fded796f1a49c40f82234b7d]

Arnd Bergmann (4):
      ath9k: fix buffer overrun for ar9287
         [83d6f1f15f8cce844b0a131cbc63e444620e48b5]
      farsync: fix off-by-one bug in fst_add_one
         [e725a66c0202b5f36c2f9d59d26a65c53bbf21f7]
      lpfc: fix misleading indentation
         [aeb6641f8ebdd61939f462a8255b316f9bfab707]
      mac80211: avoid excessive stack usage in sta_info
         [0ef049dc1167fe834d0ad5d63f89eddc5c70f6e4]

Aurelien Jacquiot (1):
      rapidio/rionet: fix deadlock on SMP
         [36915976eca58f2eefa040ba8f9939672564df61]

Benjamin Tissoires (1):
      Input: synaptics - handle spurious release of trackstick buttons, again
         [82be788c96ed5978d3cb4a00079e26b981a3df3f]

Bjorn Helgaas (2):
      PCI: Disable IO/MEM decoding for devices with non-compliant BARs
         [b84106b4e2290c081cdab521fa832596cdfea246]
      x86/PCI: Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs
         [b894157145e4ac7598d7062bc93320898a5e059e]

Bjørn Mork (1):
      cdc_ncm: toggle altsetting to force reset before setup
         [48906f62c96cc2cd35753e59310cb70eb08cc6a5]

Boris Ostrovsky (1):
      xen/events: Mask a moving irq
         [ff1e22e7a638a0782f54f81a6c9cb139aca2da35]

Dan Carpenter (2):
      EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()
         [6f3508f61c814ee852c199988a62bd954c50dfc1]
      ethernet: micrel: fix some error codes
         [3af0d554c1ce11e9d0953381ff566271f9ab81a9]

David S. Miller (1):
      ipv4: Don't do expensive useless work during inetdev destroy.
         [fbd40ea0180a2d328c5adc61414dc8bab9335ce2]

Diego Viola (1):
      net: jme: fix suspend/resume on JMC260
         [ee50c130c82175eaa0820c96b6d3763928af2241]

DingXiang (1):
      dm snapshot: disallow the COW and origin devices from being identical
         [4df2bf466a9c9c92f40d27c4aa9120f4e8227bfc]

Dmitry Tunin (4):
      Bluetooth: Add new AR3012 ID 0489:e095
         [28c971d82fb58ef7cba22e5308be6d2d2590473d]
      Bluetooth: btusb: Add a new AR3012 ID 04ca:3014
         [81d90442eac779938217c3444b240aa51fd3db47]
      Bluetooth: btusb: Add a new AR3012 ID 13d3:3472
         [75c6aca4765dbe3d0c1507ab5052f2e373dc2331]
      Bluetooth: btusb: Add new AR3012 ID 13d3:3395
         [609574eb46335cfac1421a07c0505627cbbab1f0]

Douglas Gilbert (1):
      sg: fix dxferp in from_to case
         [5ecee0a3ee8d74b6950cb41e8989b0c2174568d4]

Eric Dumazet (3):
      ipv4: fix memory leaks in ip_cmsg_send() callers
         [919483096bfe75dda338e98d56da91a263746a0a]
      ipv6: update skb->csum when CE mark is propagated
         [34ae6a1aa0540f0f781dd265366036355fdc8930]
      phonet: properly unshare skbs in phonet_rcv()
         [7aaed57c5c2890634cfadf725173c7c68ea4cb4f]

Eryu Guan (1):
      ext4: fix NULL pointer dereference in ext4_mark_inode_dirty()
         [5e1021f2b6dff1a86a468a1424d59faae2bc63c1]

Florian Westphal (4):
      connector: bump skb->users before callback invocation
         [55285bf09427c5abf43ee1d54e892f352092b1f1]
      netfilter: x_tables: fix unconditional helper
         [54d83fc74aa9ec72794373cb47432c5f7fb1a309]
      netfilter: x_tables: make sure e->next_offset covers remaining blob size
         [6e94e0cfb0887e4013b3b930fa6ab1fe6bb6ba91]
      netfilter: x_tables: validate e->target_offset early
         [bdf533de6968e9686df777dc178486f600c6e617]

Geert Uytterhoeven (2):
      rtc: vr41xx: Wire up alarm_irq_enable
         [a25f4a95ec3cded34c1250364eba704c5e4fdac4]
      serial: sh-sci: Remove cpufreq notifier to fix  crash/deadlock
         [ff1cab374ad98f4b9f408525ca9c08992b4ed784]

Guenter Roeck (2):
      MAINTAINERS: Update mailing list and web page for hwmon subsystem
         [968ce1b1f45a7d76b5471b19bd035dbecc72f32d]
      hwmon: (max1111) Return -ENODEV from max1111_read_channel if not instantiated
         [3c2e2266a5bd2d1cef258e6e54dca1d99946379f]

Guillaume Nault (3):
      ppp: ensure file->private_data can't be overridden
         [e8e56ffd9d2973398b60ece1f1bebb8d67b4d032]
      ppp: take reference on channels netns
         [1f461dcdd296eecedaffffc6bae2bfa90bd7eb89]
      pppoe: fix reference counting in PPPoE proxy
         [29e73269aa4d36f92b35610c25f8b01c789b0dc8]

Guo-Fu Tseng (2):
      jme: Do not enable NIC WoL functions on S0
         [0772a99b818079e628a1da122ac7ee023faed83e]
      jme: Fix device PM wakeup API usage
         [81422e672f8181d7ad1ee6c60c723aac649f538f]

Haishuang Yan (1):
      ipv4: l2tp: fix a potential issue in l2tp_ip_recv
         [5745b8232e942abd5e16e85fa9b27cc21324acf0]

Hangbin Liu (1):
      net/ipv6: add sysctl option accept_ra_min_hop_limit
         [8013d1d7eafb0589ca766db6b74026f76b7f5cb4]

Hannes Frederic Sowa (1):
      bridge: Only call /sbin/bridge-stp for the initial  network namespace
         [ff62198553e43cdffa9d539f6165d3e83f8a42bc]

Hannes Reinecke (1):
      bio: return EINTR if copying to user space got interrupted
         [2d99b55d378c996b9692a0c93dd25f4ed5d58934]

Hans de Goede (3):
      [media] bttv: Width must be a multiple of 16 when capturing planar formats
         [5c915c68763889f0183a1cc61c84bb228b60124a]
      [media] pwc: Add USB id for Philips Spc880nc webcam
         [7445e45d19a09e5269dc85f17f9635be29d2f76c]
      [media] saa7134: Fix bytesperline not being set correctly for planar formats
         [3e71da19f9dc22e39a755d6ae9678661abb66adc]

Hector Marco-Gisbert (1):
      x86/mm/32: Enable full randomization on i386 and X86_32
         [8b8addf891de8a00e4d39fc32f93f7c5eb8feceb]

Helge Deller (3):
      parisc: Avoid function pointers for kernel exception routines
         [e3893027a300927049efc1572f852201eb785142]
      parisc: Fix kernel crash with reversed copy_from_user()
         [ef72f3110d8b19f4c098a0bff7ed7d11945e70c6]
      parisc: Unbreak handling exceptions from kernel modules
         [2ef4dfd9d9f288943e249b78365a69e3ea3ec072]

Ignat Korchagin (1):
      USB: usbip: fix potential out-of-bounds write
         [b348d7dddb6c4fbfc810b7a0626e8ec9e29f7cbb]

J. Bruce Fields (2):
      nfsd4: fix bad bounds checking
         [4aed9c46afb80164401143aa0fdcfe3798baa9d5]
      nfsd: fix deadlock secinfo+readdir compound
         [2f6fc056e899bd0144a08da5cacaecbe8997cd74]

Jakub Sitnicki (1):
      ipv6: Count in extension headers in skb->network_header
         [3ba3458fb9c050718b95275a3310b74415e767e2]

Jann Horn (1):
      fs/coredump: prevent fsuid=0 dumps into user-controlled directories
         [378c6520e7d29280f400ef2ceaf155c86f05a71a]

Joseph Qi (2):
      ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list
         [be12b299a83fc807bbaccd2bcb8ec50cbb0cb55c]
      ocfs2/dlm: fix race between convert and recovery
         [ac7cf246dfdbec3d8fed296c7bf30e16f5099dac]

Josh Boyer (3):
      Input: powermate - fix oops with malicious USB descriptors
         [9c6ba456711687b794dcf285856fc14e2c76074f]
      USB: iowarrior: fix oops with malicious USB descriptors
         [4ec0ef3a82125efc36173062a50624550a900ae0]
      USB: serial: ftdi_sio: Add support for ICP DAS I-756xU devices
         [ea6db90e750328068837bed34cb1302b7a177339]

Kees Cook (1):
      x86: standardize mmap_rnd() usage
         [82168140bc4cec7ec9bad39705518541149ff8b7]

Manfred Rudigier (1):
      net: dp83640: Fix tx timestamp overflow handling.
         [81e8f2e930fe76b9814c71b9d87c30760b5eb705]

Manish Chopra (1):
      qlge: Fix receive packets drop.
         [2c9a266afefe137bff06bbe0fc48b4d3b3cb348c]

Marco Angaroni (1):
      ipvs: correct initial offset of Call-ID header search in SIP persistence engine
         [7617a24f83b5d67f4dab1844956be1cebc44aec8]

Mario Kleiner (1):
      drm/radeon: Don't drop DP 2.7 Ghz link setup on some cards.
         [459ee1c3fd097ab56ababd8ff4bb7ef6a792de33]

Martin K. Petersen (1):
      sd: Fix excessive capacity printing on devices with blocks bigger than 512 bytes
         [f08bb1e0dbdd0297258d0b8cd4dbfcc057e57b2a]

Martyn Welch (1):
      USB: serial: cp210x: Adding GE Healthcare Device ID
         [cddc9434e3dcc37a85c4412fb8e277d3a582e456]

Mateusz Guzik (1):
      xfs: fix two memory leaks in xfs_attr_list.c error paths
         [2e83b79b2d6c78bf1b4aa227938a214dcbddc83f]

Maurizio Lombardi (1):
      be2iscsi: set the boot_kset pointer to NULL in case of failure
         [84bd64993f916bcf86270c67686ecf4cea7b8933]

Michael Hennerich (1):
      drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors
         [f3df53e4d70b5736368a8fe8aa1bb70c1cb1f577]

Michael S. Tsirkin (1):
      watchdog: rc32434_wdt: fix ioctl error handling
         [10e7ac22cdd4d211cef99afcb9371b70cb175be6]

Nate Dailey (1):
      raid1: include bio_end_io_list in nr_queued to prevent freeze_array hang
         [ccfc7bf1f09d6190ef86693ddc761d5fe3fa47cb]

Neal Cardwell (1):
      tcp_yeah: don't set ssthresh below 2
         [83d15e70c4d8909d722c0d64747d8fb42e38a48f]

Neil Horman (1):
      sctp: Fix port hash table size computation
         [d9749fb5942f51555dc9ce1ac0dbb1806960a975]

OGAWA Hirofumi (1):
      jbd2: fix FS corruption possibility in jbd2_journal_destroy() on umount path
         [c0a2ad9b50dd80eeccd73d9ff962234590d5ec93]

Oliver Neukum (8):
      USB: cdc-acm: more sanity checking
         [8835ba4a39cf53f705417b3b3a94eb067673f2c9]
      USB: cypress_m8: add endpoint sanity check
         [c55aee1bf0e6b6feec8b2927b43f7a09a6d5f754]
      USB: digi_acceleport: do sanity checking for the number of ports
         [5a07975ad0a36708c6b0a5b9fea1ff811d0b0c1f]
      USB: mct_u232: add sanity checking in probe
         [4e9a0b05257f29cf4b75f3209243ed71614d062e]
      USB: usb_driver_claim_interface: add sanity checking
         [0b818e3956fc1ad976bee791eadcbb3b5fec5bfd]
      usb: hub: fix a typo in hub_port_init() leading to wrong logic
         [0d5ce778c43bf888328231bcdce05d5c860655aa]
      usb: retry reset if a device times out
         [264904ccc33c604d4b3141bbd33808152dfac45b]
      usbnet: cleanup after bind() in probe()
         [1666984c8625b3db19a9abc298931d35ab7bc64b]

Paolo Abeni (1):
      ipv6/udp: use sticky pktinfo egress ifindex on  connect()
         [1cdda91871470f15e79375991bd2eddc6e86ddb1]

Peter Hurley (1):
      net: irda: Fix use-after-free in irtty_open()
         [401879c57f01cbf2da204ad2e8db910525c6dbea]

Rabin Vincent (1):
      splice: handle zero nr_pages in splice_to_pipe()
         [d6785d9152147596f60234157da2b02540c3e60f]

Radim Krčmář (1):
      KVM: i8254: change PIT discard tick policy
         [7dd0fdff145c5be7146d0ac06732ae3613412ac1]

Raghava Aditya Renukunta (1):
      aacraid: Fix memory leak in aac_fib_map_free
         [f88fa79a61726ce9434df9b4aede36961f709f17]

Sebastian Frias (1):
      8250: use callbacks to access UART_DLL/UART_DLM
         [0b41ce991052022c030fd868e03877700220b090]

Sergei Shtylyov (1):
      sh_eth: fix NULL pointer dereference in  sh_eth_ring_format()
         [c1b7fca65070bfadca94dd53a4e6b71cd4f69715]

Shaohua Li (1):
      raid10: include bio_end_io_list in nr_queued to prevent freeze_array hang
         [23ddba80ebe836476bb2fa1f5ef305dd1c63dc0b]

Steven Rostedt (2):
      tracing: Fix crash from reading trace_pipe with sendfile
         [a29054d9478d0435ab01b7544da4f674ab13f533]
      tracing: Have preempt(irqs)off trace preempt disabled functions
         [cb86e05390debcc084cfdb0a71ed4c5dbbec517d]

Subashab@Codeaurora.Org (1):
      xfrm: Fix crash observed during device unregistration  and decryption
         [071d36bf21bcc837be00cea55bcef8d129e7f609]

Sudip Mukherjee (1):
      mac80211: fix memory leak
         [ea32f065bd3e3e09f0bcb3042f1664caf6b3e233]

Takashi Iwai (4):
      ALSA: timer: Use mod_timer() for rearming the system timer
         [4a07083ed613644c96c34a7dd2853dc5d7c70902]
      ALSA: usb-audio: Add sanity checks for endpoint accesses
         [447d6275f0c21f6cc97a88b3a0c601436a4cdf2a]
      ALSA: usb-audio: Fix NULL dereference in create_fixed_stream_quirk()
         [0f886ca12765d20124bd06291c82951fd49a33be]
      ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk()
         [902eb7fd1e4af3ac69b9b30f8373f118c92b9729]

Thomas Gleixner (1):
      sched/cputime: Fix steal time accounting vs. CPU hotplug
         [e9532e69b8d1d1284e8ecf8d2586de34aec61244]

Ursula Braun (1):
      af_iucv: Validate socket address length in  iucv_sock_bind()
         [52a82e23b9f2a9e1d429c5207f8575784290d008]

Vijay Pandurangan (1):
      veth: don’t modify ip_summed; doing so treats packets with bad checksums as good.
         [ce8c839b74e3017996fad4e1b7ba2e2625ede82f]

Vittorio Gambaletta (1):
      ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM ThinkPad X41.
         [4061db03dd71d195b9973ee466f6ed32f6a3fc16]

Vladis Dronov (2):
      ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call
         [836b34a935abc91e13e63053d0a83b24dfb5ea78]
      Input: ati_remote2 - fix crashes on detecting device with invalid descriptor
         [950336ba3e4a1ffd2ca60d29f6ef386dd2c7351d]

Willem de Bruijn (3):
      ax25: add link layer header validation function
         [ea47781c26510e5d97f80f9aceafe9065bd5e3aa]
      macvtap: always pass ethernet header in linear
         [8e2ad4113ce4671686740f808ff2795395c39eef]
      net: validate variable length ll headers
         [2793a23aacbd754dbbb5cb75093deb7e4103bace]

Xin Long (2):
      sctp: lack the check for ports in sctp_v6_cmp_addr
         [40b4f0fd74e46c017814618d67ec9127ff20f157]
      sctp: sctp should release assoc when  sctp_make_abort_user return NULL in sctp_close
         [068d8bd338e855286aea54e70d1c101569284b21]

Yoshihiro Shimoda (3):
      usb: renesas_usbhs: avoid NULL pointer derefernce in usbhsf_pkt_handler()
         [894f2fc44f2f3f48c36c973b1123f6ab298be160]
      usb: renesas_usbhs: disable TX IRQ before starting TX DMAC transfer
         [6490865c67825277b29638e839850882600b48ec]
      usb: renesas_usbhs: fix to avoid using a disabled ep in usbhsg_queue_done()
         [4fccb0767fdbdb781a9c5b5c15ee7b219443c89d]

Yuki Shibuya (1):
      KVM: x86: Inject pending interrupt even if pending nmi exist
         [321c5658c5e9192dea0d58ab67cf1791e45b2b26]

 Documentation/networking/ip-sysctl.txt       |  8 +++
 MAINTAINERS                                  | 82 ++++++++++++++--------------
 Makefile                                     |  4 +-
 arch/parisc/include/asm/uaccess.h            |  1 +
 arch/parisc/kernel/asm-offsets.c             |  1 +
 arch/parisc/kernel/parisc_ksyms.c            | 10 ++--
 arch/parisc/kernel/traps.c                   |  3 +
 arch/parisc/lib/fixup.S                      |  6 ++
 arch/parisc/mm/fault.c                       |  1 +
 arch/um/drivers/mconsole_kern.c              |  2 +-
 arch/x86/include/asm/xen/hypervisor.h        |  2 +
 arch/x86/kernel/ioport.c                     |  7 ++-
 arch/x86/kernel/process_64.c                 | 12 ++++
 arch/x86/kvm/i8254.c                         | 12 ++--
 arch/x86/kvm/x86.c                           | 12 ++--
 arch/x86/mm/mmap.c                           | 44 ++++++---------
 arch/x86/pci/fixup.c                         |  7 +++
 arch/x86/xen/enlighten.c                     |  2 +-
 drivers/bluetooth/ath3k.c                    |  8 +++
 drivers/bluetooth/btusb.c                    |  4 ++
 drivers/connector/connector.c                | 11 +---
 drivers/edac/amd64_edac.c                    |  2 +-
 drivers/gpu/drm/radeon/atombios_encoders.c   |  6 +-
 drivers/hwmon/max1111.c                      |  6 ++
 drivers/input/misc/ati_remote2.c             | 36 ++++++++++--
 drivers/input/misc/powermate.c               |  3 +
 drivers/input/mouse/synaptics.c              |  5 +-
 drivers/md/dm-snap.c                         |  9 +++
 drivers/md/dm-table.c                        | 37 +++++++++----
 drivers/md/raid1.c                           |  7 ++-
 drivers/md/raid10.c                          |  7 ++-
 drivers/media/video/bt8xx/bttv-driver.c      | 26 +++++++--
 drivers/media/video/pwc/pwc-if.c             |  6 ++
 drivers/media/video/saa7134/saa7134-video.c  | 18 ++++--
 drivers/misc/ad525x_dpot.c                   |  2 +-
 drivers/net/ethernet/jme.c                   | 26 +++++----
 drivers/net/ethernet/micrel/ks8842.c         | 10 ++--
 drivers/net/ethernet/qlogic/qlge/qlge_main.c | 11 ++++
 drivers/net/ethernet/renesas/sh_eth.c        |  3 +-
 drivers/net/irda/irtty-sir.c                 | 10 ----
 drivers/net/macvtap.c                        |  9 ++-
 drivers/net/phy/dp83640.c                    | 17 ++++++
 drivers/net/ppp/ppp_generic.c                | 35 +++++++-----
 drivers/net/ppp/pppoe.c                      |  2 +
 drivers/net/rionet.c                         |  4 +-
 drivers/net/usb/cdc_ncm.c                    |  6 +-
 drivers/net/usb/usbnet.c                     |  7 +++
 drivers/net/veth.c                           |  5 --
 drivers/net/wan/farsync.c                    |  2 +-
 drivers/net/wireless/ath/ath9k/eeprom.c      |  7 +--
 drivers/pci/probe.c                          | 14 +++++
 drivers/rtc/rtc-vr41xx.c                     | 13 +++--
 drivers/scsi/aacraid/commsup.c               |  9 ++-
 drivers/scsi/be2iscsi/be_main.c              |  1 +
 drivers/scsi/lpfc/lpfc_init.c                |  5 +-
 drivers/scsi/sd.c                            | 23 +++-----
 drivers/scsi/sd.h                            |  7 ++-
 drivers/scsi/sg.c                            |  3 +-
 drivers/staging/usbip/usbip_common.c         | 11 ++++
 drivers/tty/serial/8250.c                    | 18 ++----
 drivers/tty/serial/sh-sci.c                  | 37 -------------
 drivers/usb/class/cdc-acm.c                  |  3 +
 drivers/usb/core/driver.c                    |  6 +-
 drivers/usb/core/hub.c                       | 16 ++++--
 drivers/usb/misc/iowarrior.c                 |  6 ++
 drivers/usb/renesas_usbhs/fifo.c             |  4 +-
 drivers/usb/renesas_usbhs/mod_gadget.c       |  6 +-
 drivers/usb/serial/cp210x.c                  |  1 +
 drivers/usb/serial/cypress_m8.c              | 11 ++--
 drivers/usb/serial/digi_acceleport.c         | 18 ++++++
 drivers/usb/serial/ftdi_sio.c                |  4 ++
 drivers/usb/serial/ftdi_sio_ids.h            |  8 +++
 drivers/usb/serial/mct_u232.c                |  6 ++
 drivers/watchdog/rc32434_wdt.c               |  2 +-
 drivers/xen/events.c                         | 34 ++++++++++--
 fs/bio.c                                     | 12 ++--
 fs/exec.c                                    | 30 ++++++++--
 fs/ext4/inode.c                              |  6 +-
 fs/fhandle.c                                 |  2 +-
 fs/jbd2/journal.c                            | 17 ++++--
 fs/nfsd/nfs4proc.c                           |  1 +
 fs/nfsd/nfs4xdr.c                            | 13 +++--
 fs/ocfs2/dlm/dlmconvert.c                    | 24 +++++++-
 fs/ocfs2/dlm/dlmrecovery.c                   |  1 -
 fs/open.c                                    |  6 +-
 fs/splice.c                                  |  3 +
 fs/xfs/xfs_attr_leaf.c                       | 19 ++++---
 include/linux/device-mapper.h                |  2 +
 include/linux/fs.h                           |  2 +-
 include/linux/ipv6.h                         |  3 +
 include/linux/netdevice.h                    | 21 ++++++-
 include/linux/pci.h                          |  1 +
 include/net/inet_ecn.h                       | 19 ++++++-
 kernel/sched.c                               | 14 +++++
 kernel/sysctl_binary.c                       |  2 +-
 kernel/trace/trace.c                         |  5 +-
 kernel/trace/trace_irqsoff.c                 |  8 ++-
 net/ax25/ax25_ip.c                           | 15 +++++
 net/bridge/br_stp_if.c                       |  5 +-
 net/ipv4/devinet.c                           |  4 ++
 net/ipv4/fib_frontend.c                      |  4 ++
 net/ipv4/ip_gre.c                            |  2 +-
 net/ipv4/ip_sockglue.c                       |  2 +
 net/ipv4/netfilter/arp_tables.c              | 41 +++++++-------
 net/ipv4/netfilter/ip_tables.c               | 46 ++++++++--------
 net/ipv4/netfilter/ipt_MASQUERADE.c          | 12 +++-
 net/ipv4/ping.c                              |  4 +-
 net/ipv4/raw.c                               |  4 +-
 net/ipv4/tcp_yeah.c                          |  2 +-
 net/ipv4/udp.c                               |  4 +-
 net/ipv6/addrconf.c                          | 10 ++++
 net/ipv6/datagram.c                          |  3 +
 net/ipv6/ip6_output.c                        |  9 ++-
 net/ipv6/ip6_tunnel.c                        |  2 +-
 net/ipv6/ndisc.c                             | 16 +++---
 net/ipv6/netfilter/ip6_tables.c              | 46 ++++++++--------
 net/ipv6/sit.c                               |  2 +-
 net/ipv6/xfrm6_mode_tunnel.c                 |  2 +-
 net/iucv/af_iucv.c                           |  3 +
 net/l2tp/l2tp_ip.c                           |  8 ++-
 net/mac80211/sta_info.c                      | 17 ++++--
 net/netfilter/ipvs/ip_vs_pe_sip.c            |  2 +-
 net/phonet/af_phonet.c                       |  4 ++
 net/sctp/ipv6.c                              |  2 +
 net/sctp/protocol.c                          | 47 +++++++++++++---
 net/sctp/sm_statefuns.c                      |  6 +-
 net/sctp/socket.c                            |  3 +-
 net/socket.c                                 | 38 ++++++-------
 net/xfrm/xfrm_input.c                        |  3 +
 sound/core/timer.c                           |  4 +-
 sound/pci/intel8x0.c                         |  1 +
 sound/usb/clock.c                            |  2 +
 sound/usb/pcm.c                              |  2 +
 sound/usb/quirks.c                           | 26 ++++++---
 sound/usb/stream.c                           |  6 +-
 135 files changed, 970 insertions(+), 479 deletions(-)

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

[toc] | [next] | [standalone]


#1388537 — [PATCH 3.2 006/115] [media] saa7134: Fix bytesperline not being set correctly for planar formats

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 006/115] [media] saa7134: Fix bytesperline not being set correctly for planar formats
Message-ID<rslPX-pf-5@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Hans de Goede <hdegoede@redhat.com>

commit 3e71da19f9dc22e39a755d6ae9678661abb66adc upstream.

bytesperline should be the bytesperline for the first plane for planar
formats, not that of all planes combined.

This fixes a crash in xawtv caused by the wrong bpl.

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1305389
Reported-and-tested-by: Stas Sergeev <stsp@list.ru>

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/media/video/saa7134/saa7134-video.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

--- a/drivers/media/video/saa7134/saa7134-video.c
+++ b/drivers/media/video/saa7134/saa7134-video.c
@@ -1577,10 +1577,13 @@ static int saa7134_g_fmt_vid_cap(struct
 	f->fmt.pix.height       = fh->height;
 	f->fmt.pix.field        = fh->cap.field;
 	f->fmt.pix.pixelformat  = fh->fmt->fourcc;
-	f->fmt.pix.bytesperline =
-		(f->fmt.pix.width * fh->fmt->depth) >> 3;
+	if (fh->fmt->planar)
+		f->fmt.pix.bytesperline = f->fmt.pix.width;
+	else
+		f->fmt.pix.bytesperline =
+			(f->fmt.pix.width * fh->fmt->depth) / 8;
 	f->fmt.pix.sizeimage =
-		f->fmt.pix.height * f->fmt.pix.bytesperline;
+		(f->fmt.pix.height * f->fmt.pix.width * fh->fmt->depth) / 8;
 	return 0;
 }
 
@@ -1641,10 +1644,13 @@ static int saa7134_try_fmt_vid_cap(struc
 	if (f->fmt.pix.height > maxh)
 		f->fmt.pix.height = maxh;
 	f->fmt.pix.width &= ~0x03;
-	f->fmt.pix.bytesperline =
-		(f->fmt.pix.width * fmt->depth) >> 3;
+	if (fmt->planar)
+		f->fmt.pix.bytesperline = f->fmt.pix.width;
+	else
+		f->fmt.pix.bytesperline =
+			(f->fmt.pix.width * fmt->depth) / 8;
 	f->fmt.pix.sizeimage =
-		f->fmt.pix.height * f->fmt.pix.bytesperline;
+		(f->fmt.pix.height * f->fmt.pix.width * fmt->depth) / 8;
 
 	return 0;
 }

[toc] | [prev] | [next] | [standalone]


#1388538 — [PATCH 3.2 014/115] [media] bttv: Width must be a multiple of 16 when capturing planar formats

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 014/115] [media] bttv: Width must be a multiple of 16 when capturing planar formats
Message-ID<rslPX-pf-3@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Hans de Goede <hdegoede@redhat.com>

commit 5c915c68763889f0183a1cc61c84bb228b60124a upstream.

On my bttv card "Hauppauge WinTV [card=10]" capturing in YV12 fmt at max
size results in a solid green rectangle being captured (all colors 0 in
YUV).

This turns out to be caused by max-width (924) not being a multiple of 16.

We've likely never hit this problem before since normally xawtv / tvtime,
etc. will prefer packed pixel formats. But when using a video card which
is using xf86-video-modesetting + glamor, only planar XVideo fmts are
available, and xawtv will chose a matching capture format to avoid needing
to do conversion, triggering the solid green window problem.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/media/video/bt8xx/bttv-driver.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -2480,6 +2480,19 @@ static int bttv_g_fmt_vid_overlay(struct
 	return 0;
 }
 
+static void bttv_get_width_mask_vid_cap(const struct bttv_format *fmt,
+					unsigned int *width_mask,
+					unsigned int *width_bias)
+{
+	if (fmt->flags & FORMAT_FLAGS_PLANAR) {
+		*width_mask = ~15; /* width must be a multiple of 16 pixels */
+		*width_bias = 8;   /* nearest */
+	} else {
+		*width_mask = ~3; /* width must be a multiple of 4 pixels */
+		*width_bias = 2;  /* nearest */
+	}
+}
+
 static int bttv_try_fmt_vid_cap(struct file *file, void *priv,
 						struct v4l2_format *f)
 {
@@ -2488,6 +2501,7 @@ static int bttv_try_fmt_vid_cap(struct f
 	struct bttv *btv = fh->btv;
 	enum v4l2_field field;
 	__s32 width, height;
+	unsigned int width_mask, width_bias;
 	int rc;
 
 	fmt = format_by_fourcc(f->fmt.pix.pixelformat);
@@ -2525,9 +2539,9 @@ static int bttv_try_fmt_vid_cap(struct f
 	width = f->fmt.pix.width;
 	height = f->fmt.pix.height;
 
+	bttv_get_width_mask_vid_cap(fmt, &width_mask, &width_bias);
 	rc = limit_scaled_size_lock(fh, &width, &height, field,
-			       /* width_mask: 4 pixels */ ~3,
-			       /* width_bias: nearest */ 2,
+			       width_mask, width_bias,
 			       /* adjust_size */ 1,
 			       /* adjust_crop */ 0);
 	if (0 != rc)
@@ -2558,6 +2572,7 @@ static int bttv_s_fmt_vid_cap(struct fil
 	struct bttv_fh *fh = priv;
 	struct bttv *btv = fh->btv;
 	__s32 width, height;
+	unsigned int width_mask, width_bias;
 	enum v4l2_field field;
 
 	retval = bttv_switch_type(fh, f->type);
@@ -2572,9 +2587,10 @@ static int bttv_s_fmt_vid_cap(struct fil
 	height = f->fmt.pix.height;
 	field = f->fmt.pix.field;
 
+	fmt = format_by_fourcc(f->fmt.pix.pixelformat);
+	bttv_get_width_mask_vid_cap(fmt, &width_mask, &width_bias);
 	retval = limit_scaled_size_lock(fh, &width, &height, f->fmt.pix.field,
-			       /* width_mask: 4 pixels */ ~3,
-			       /* width_bias: nearest */ 2,
+			       width_mask, width_bias,
 			       /* adjust_size */ 1,
 			       /* adjust_crop */ 1);
 	if (0 != retval)
@@ -2582,8 +2598,6 @@ static int bttv_s_fmt_vid_cap(struct fil
 
 	f->fmt.pix.field = field;
 
-	fmt = format_by_fourcc(f->fmt.pix.pixelformat);
-
 	/* update our state informations */
 	fh->fmt              = fmt;
 	fh->cap.field        = f->fmt.pix.field;

[toc] | [prev] | [next] | [standalone]


#1388539 — [PATCH 3.2 114/115] jme: Fix device PM wakeup API usage

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 114/115] jme: Fix device PM wakeup API usage
Message-ID<rslPX-pf-7@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Guo-Fu Tseng <cooldavid@cooldavid.org>

commit 81422e672f8181d7ad1ee6c60c723aac649f538f upstream.

According to Documentation/power/devices.txt

The driver should not use device_set_wakeup_enable() which is the policy
for user to decide.

Using device_init_wakeup() to initialize dev->power.should_wakeup and
dev->power.can_wakeup on driver initialization.

And use device_may_wakeup() on suspend to decide if WoL function should
be enabled on NIC.

Reported-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/net/ethernet/jme.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

--- a/drivers/net/ethernet/jme.c
+++ b/drivers/net/ethernet/jme.c
@@ -1930,7 +1930,7 @@ jme_wait_link(struct jme_adapter *jme)
 static void
 jme_powersave_phy(struct jme_adapter *jme)
 {
-	if (jme->reg_pmcs) {
+	if (jme->reg_pmcs && device_may_wakeup(&jme->pdev->dev)) {
 		jme_set_100m_half(jme);
 		if (jme->reg_pmcs & (PMCS_LFEN | PMCS_LREN))
 			jme_wait_link(jme);
@@ -2622,8 +2622,6 @@ jme_set_wol(struct net_device *netdev,
 	if (wol->wolopts & WAKE_MAGIC)
 		jme->reg_pmcs |= PMCS_MFEN;
 
-	device_set_wakeup_enable(&jme->pdev->dev, !!(jme->reg_pmcs));
-
 	return 0;
 }
 
@@ -3149,7 +3147,7 @@ jme_init_one(struct pci_dev *pdev,
 
 	jme_clear_pm_disable_wol(jme);
 	pci_set_power_state(jme->pdev, PCI_D0);
-	device_set_wakeup_enable(&pdev->dev, true);
+	device_init_wakeup(&pdev->dev, true);
 
 	jme_set_phyfifo_5level(jme);
 	jme->pcirev = pdev->revision;

[toc] | [prev] | [next] | [standalone]


#1388540 — [PATCH 3.2 018/115] drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 018/115] drivers/misc/ad525x_dpot: AD5274 fix RDAC read back errors
Message-ID<rslPX-pf-9@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Michael Hennerich <michael.hennerich@analog.com>

commit f3df53e4d70b5736368a8fe8aa1bb70c1cb1f577 upstream.

Fix RDAC read back errors caused by a typo. Value must shift by 2.

Fixes: a4bd394956f2 ("drivers/misc/ad525x_dpot.c: new features")
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/misc/ad525x_dpot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/misc/ad525x_dpot.c
+++ b/drivers/misc/ad525x_dpot.c
@@ -218,7 +218,7 @@ static s32 dpot_read_i2c(struct dpot_dat
 			 */
 			value = swab16(value);
 
-			if (dpot->uid == DPOT_UID(AD5271_ID))
+			if (dpot->uid == DPOT_UID(AD5274_ID))
 				value = value >> 2;
 		return value;
 	default:

[toc] | [prev] | [next] | [standalone]


#1388541 — [PATCH 3.2 008/115] Bluetooth: Add new AR3012 ID 0489:e095

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 008/115] Bluetooth: Add new AR3012 ID 0489:e095
Message-ID<rslPX-pf-13@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Dmitry Tunin <hanipouspilot@gmail.com>

commit 28c971d82fb58ef7cba22e5308be6d2d2590473d upstream.

T: Bus=01 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0489 ProdID=e095 Rev=00.01
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

This device requires ar3k/AthrBT_0x31010100.dfu and
ar3k/ramps_0x31010100_40.dfu firmware files that are not in
linux-firmware yet.

BugLink: https://bugs.launchpad.net/bugs/1542944

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/bluetooth/ath3k.c | 2 ++
 drivers/bluetooth/btusb.c | 1 +
 2 files changed, 3 insertions(+)

--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -80,6 +80,7 @@ static struct usb_device_id ath3k_table[
 	{ USB_DEVICE(0x0489, 0xe05f) },
 	{ USB_DEVICE(0x0489, 0xe076) },
 	{ USB_DEVICE(0x0489, 0xe078) },
+	{ USB_DEVICE(0x0489, 0xe095) },
 	{ USB_DEVICE(0x04c5, 0x1330) },
 	{ USB_DEVICE(0x04CA, 0x3004) },
 	{ USB_DEVICE(0x04CA, 0x3005) },
@@ -141,6 +142,7 @@ static struct usb_device_id ath3k_blist_
 	{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x0489, 0xe095), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -165,6 +165,7 @@ static struct usb_device_id blacklist_ta
 	{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x0489, 0xe095), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },

[toc] | [prev] | [next] | [standalone]


#1388542 — [PATCH 3.2 019/115] usb: hub: fix a typo in hub_port_init() leading to wrong logic

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 019/115] usb: hub: fix a typo in hub_port_init() leading to wrong logic
Message-ID<rslPX-pf-11@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Oliver Neukum <oneukum@suse.com>

commit 0d5ce778c43bf888328231bcdce05d5c860655aa upstream.

A typo of j for i led to a logic bug. To rule out future
confusion, the variable names are made meaningful.

Signed-off-by: Oliver Neukum <ONeukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/usb/core/hub.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -3033,7 +3033,7 @@ hub_port_init (struct usb_hub *hub, stru
 
 	struct usb_device	*hdev = hub->hdev;
 	struct usb_hcd		*hcd = bus_to_hcd(hdev->bus);
-	int			i, j, retval;
+	int			retries, operations, retval, i;
 	unsigned		delay = HUB_SHORT_RESET_TIME;
 	enum usb_device_speed	oldspeed = udev->speed;
 	const char		*speed;
@@ -3135,7 +3135,7 @@ hub_port_init (struct usb_hub *hub, stru
 	 * first 8 bytes of the device descriptor to get the ep0 maxpacket
 	 * value.
 	 */
-	for (i = 0; i < GET_DESCRIPTOR_TRIES; (++i, msleep(100))) {
+	for (retries = 0; retries < GET_DESCRIPTOR_TRIES; (++retries, msleep(100))) {
 		if (USE_NEW_SCHEME(retry_counter) && !(hcd->driver->flags & HCD_USB3)) {
 			struct usb_device_descriptor *buf;
 			int r = 0;
@@ -3151,7 +3151,7 @@ hub_port_init (struct usb_hub *hub, stru
 			 * 255 is for WUSB devices, we actually need to use
 			 * 512 (WUSB1.0[4.8.1]).
 			 */
-			for (j = 0; j < 3; ++j) {
+			for (operations = 0; operations < 3; ++operations) {
 				buf->bMaxPacketSize0 = 0;
 				r = usb_control_msg(udev, usb_rcvaddr0pipe(),
 					USB_REQ_GET_DESCRIPTOR, USB_DIR_IN,
@@ -3177,7 +3177,7 @@ hub_port_init (struct usb_hub *hub, stru
 				 * reset. But only on the first attempt,
 				 * lest we get into a time out/reset loop
 				 */
-				if (r == 0  || (r == -ETIMEDOUT && j == 0))
+				if (r == 0  || (r == -ETIMEDOUT && retries == 0))
 					break;
 			}
 			udev->descriptor.bMaxPacketSize0 =
@@ -3209,7 +3209,7 @@ hub_port_init (struct usb_hub *hub, stru
  		 * authorization will assign the final address.
  		 */
 		if (udev->wusb == 0) {
-			for (j = 0; j < SET_ADDRESS_TRIES; ++j) {
+			for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) {
 				retval = hub_set_address(udev, devnum);
 				if (retval >= 0)
 					break;

[toc] | [prev] | [next] | [standalone]


#1388544 — [PATCH 3.2 007/115] Bluetooth: btusb: Add new AR3012 ID 13d3:3395

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 007/115] Bluetooth: btusb: Add new AR3012 ID 13d3:3395
Message-ID<rslPY-pf-19@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Dmitry Tunin <hanipouspilot@gmail.com>

commit 609574eb46335cfac1421a07c0505627cbbab1f0 upstream.

T: Bus=03 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=13d3 ProdID=3395 Rev=00.01
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

BugLink: https://bugs.launchpad.net/bugs/1542564

Reported-and-tested-by: Christopher Simerly <kilikopela29@gmail.com>
Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/bluetooth/ath3k.c | 2 ++
 drivers/bluetooth/btusb.c | 1 +
 2 files changed, 3 insertions(+)

--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -109,6 +109,7 @@ static struct usb_device_id ath3k_table[
 	{ USB_DEVICE(0x13d3, 0x3362) },
 	{ USB_DEVICE(0x13d3, 0x3375) },
 	{ USB_DEVICE(0x13d3, 0x3393) },
+	{ USB_DEVICE(0x13d3, 0x3395) },
 	{ USB_DEVICE(0x13d3, 0x3402) },
 	{ USB_DEVICE(0x13d3, 0x3408) },
 	{ USB_DEVICE(0x13d3, 0x3423) },
@@ -169,6 +170,7 @@ static struct usb_device_id ath3k_blist_
 	{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x13d3, 0x3395), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3423), .driver_info = BTUSB_ATH3012 },
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -194,6 +194,7 @@ static struct usb_device_id blacklist_ta
 	{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x13d3, 0x3395), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x13d3, 0x3423), .driver_info = BTUSB_ATH3012 },

[toc] | [prev] | [next] | [standalone]


#1388545 — [PATCH 3.2 115/115] netfilter: x_tables: fix unconditional helper

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 115/115] netfilter: x_tables: fix unconditional helper
Message-ID<rslPY-pf-23@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Florian Westphal <fw@strlen.de>

commit 54d83fc74aa9ec72794373cb47432c5f7fb1a309 upstream.

Ben Hawkes says:

 In the mark_source_chains function (net/ipv4/netfilter/ip_tables.c) it
 is possible for a user-supplied ipt_entry structure to have a large
 next_offset field. This field is not bounds checked prior to writing a
 counter value at the supplied offset.

Problem is that mark_source_chains should not have been called --
the rule doesn't have a next entry, so its supposed to return
an absolute verdict of either ACCEPT or DROP.

However, the function conditional() doesn't work as the name implies.
It only checks that the rule is using wildcard address matching.

However, an unconditional rule must also not be using any matches
(no -m args).

The underflow validator only checked the addresses, therefore
passing the 'unconditional absolute verdict' test, while
mark_source_chains also tested for presence of matches, and thus
proceeeded to the next (not-existent) rule.

Unify this so that all the callers have same idea of 'unconditional rule'.

Reported-by: Ben Hawkes <hawkes@google.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 net/ipv4/netfilter/arp_tables.c | 18 +++++++++---------
 net/ipv4/netfilter/ip_tables.c  | 23 +++++++++++------------
 net/ipv6/netfilter/ip6_tables.c | 23 +++++++++++------------
 3 files changed, 31 insertions(+), 33 deletions(-)

--- a/net/ipv4/netfilter/arp_tables.c
+++ b/net/ipv4/netfilter/arp_tables.c
@@ -350,11 +350,12 @@ unsigned int arpt_do_table(struct sk_buf
 }
 
 /* All zeroes == unconditional rule. */
-static inline bool unconditional(const struct arpt_arp *arp)
+static inline bool unconditional(const struct arpt_entry *e)
 {
 	static const struct arpt_arp uncond;
 
-	return memcmp(arp, &uncond, sizeof(uncond)) == 0;
+	return e->target_offset == sizeof(struct arpt_entry) &&
+	       memcmp(&e->arp, &uncond, sizeof(uncond)) == 0;
 }
 
 /* Figures out from what hook each rule can be called: returns 0 if
@@ -393,11 +394,10 @@ static int mark_source_chains(const stru
 				|= ((1 << hook) | (1 << NF_ARP_NUMHOOKS));
 
 			/* Unconditional return/END. */
-			if ((e->target_offset == sizeof(struct arpt_entry) &&
+			if ((unconditional(e) &&
 			     (strcmp(t->target.u.user.name,
 				     XT_STANDARD_TARGET) == 0) &&
-			     t->verdict < 0 && unconditional(&e->arp)) ||
-			    visited) {
+			     t->verdict < 0) || visited) {
 				unsigned int oldpos, size;
 
 				if ((strcmp(t->target.u.user.name,
@@ -536,7 +536,7 @@ static bool check_underflow(const struct
 	const struct xt_entry_target *t;
 	unsigned int verdict;
 
-	if (!unconditional(&e->arp))
+	if (!unconditional(e))
 		return false;
 	t = arpt_get_target_c(e);
 	if (strcmp(t->u.user.name, XT_STANDARD_TARGET) != 0)
@@ -583,9 +583,9 @@ static inline int check_entry_size_and_h
 			newinfo->hook_entry[h] = hook_entries[h];
 		if ((unsigned char *)e - base == underflows[h]) {
 			if (!check_underflow(e)) {
-				pr_err("Underflows must be unconditional and "
-				       "use the STANDARD target with "
-				       "ACCEPT/DROP\n");
+				pr_debug("Underflows must be unconditional and "
+					 "use the STANDARD target with "
+					 "ACCEPT/DROP\n");
 				return -EINVAL;
 			}
 			newinfo->underflow[h] = underflows[h];
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -168,11 +168,12 @@ get_entry(const void *base, unsigned int
 
 /* All zeroes == unconditional rule. */
 /* Mildly perf critical (only if packet tracing is on) */
-static inline bool unconditional(const struct ipt_ip *ip)
+static inline bool unconditional(const struct ipt_entry *e)
 {
 	static const struct ipt_ip uncond;
 
-	return memcmp(ip, &uncond, sizeof(uncond)) == 0;
+	return e->target_offset == sizeof(struct ipt_entry) &&
+	       memcmp(&e->ip, &uncond, sizeof(uncond)) == 0;
 #undef FWINV
 }
 
@@ -230,11 +231,10 @@ get_chainname_rulenum(const struct ipt_e
 	} else if (s == e) {
 		(*rulenum)++;
 
-		if (s->target_offset == sizeof(struct ipt_entry) &&
+		if (unconditional(s) &&
 		    strcmp(t->target.u.kernel.target->name,
 			   XT_STANDARD_TARGET) == 0 &&
-		   t->verdict < 0 &&
-		   unconditional(&s->ip)) {
+		   t->verdict < 0) {
 			/* Tail of chains: STANDARD target (return/policy) */
 			*comment = *chainname == hookname
 				? comments[NF_IP_TRACE_COMMENT_POLICY]
@@ -468,11 +468,10 @@ mark_source_chains(const struct xt_table
 			e->comefrom |= ((1 << hook) | (1 << NF_INET_NUMHOOKS));
 
 			/* Unconditional return/END. */
-			if ((e->target_offset == sizeof(struct ipt_entry) &&
+			if ((unconditional(e) &&
 			     (strcmp(t->target.u.user.name,
 				     XT_STANDARD_TARGET) == 0) &&
-			     t->verdict < 0 && unconditional(&e->ip)) ||
-			    visited) {
+			     t->verdict < 0) || visited) {
 				unsigned int oldpos, size;
 
 				if ((strcmp(t->target.u.user.name,
@@ -699,7 +698,7 @@ static bool check_underflow(const struct
 	const struct xt_entry_target *t;
 	unsigned int verdict;
 
-	if (!unconditional(&e->ip))
+	if (!unconditional(e))
 		return false;
 	t = ipt_get_target_c(e);
 	if (strcmp(t->u.user.name, XT_STANDARD_TARGET) != 0)
@@ -747,9 +746,9 @@ check_entry_size_and_hooks(struct ipt_en
 			newinfo->hook_entry[h] = hook_entries[h];
 		if ((unsigned char *)e - base == underflows[h]) {
 			if (!check_underflow(e)) {
-				pr_err("Underflows must be unconditional and "
-				       "use the STANDARD target with "
-				       "ACCEPT/DROP\n");
+				pr_debug("Underflows must be unconditional and "
+					 "use the STANDARD target with "
+					 "ACCEPT/DROP\n");
 				return -EINVAL;
 			}
 			newinfo->underflow[h] = underflows[h];
--- a/net/ipv6/netfilter/ip6_tables.c
+++ b/net/ipv6/netfilter/ip6_tables.c
@@ -208,11 +208,12 @@ get_entry(const void *base, unsigned int
 
 /* All zeroes == unconditional rule. */
 /* Mildly perf critical (only if packet tracing is on) */
-static inline bool unconditional(const struct ip6t_ip6 *ipv6)
+static inline bool unconditional(const struct ip6t_entry *e)
 {
 	static const struct ip6t_ip6 uncond;
 
-	return memcmp(ipv6, &uncond, sizeof(uncond)) == 0;
+	return e->target_offset == sizeof(struct ip6t_entry) &&
+	       memcmp(&e->ipv6, &uncond, sizeof(uncond)) == 0;
 }
 
 static inline const struct xt_entry_target *
@@ -269,11 +270,10 @@ get_chainname_rulenum(const struct ip6t_
 	} else if (s == e) {
 		(*rulenum)++;
 
-		if (s->target_offset == sizeof(struct ip6t_entry) &&
+		if (unconditional(s) &&
 		    strcmp(t->target.u.kernel.target->name,
 			   XT_STANDARD_TARGET) == 0 &&
-		    t->verdict < 0 &&
-		    unconditional(&s->ipv6)) {
+		    t->verdict < 0) {
 			/* Tail of chains: STANDARD target (return/policy) */
 			*comment = *chainname == hookname
 				? comments[NF_IP6_TRACE_COMMENT_POLICY]
@@ -490,11 +490,10 @@ mark_source_chains(const struct xt_table
 			e->comefrom |= ((1 << hook) | (1 << NF_INET_NUMHOOKS));
 
 			/* Unconditional return/END. */
-			if ((e->target_offset == sizeof(struct ip6t_entry) &&
+			if ((unconditional(e) &&
 			     (strcmp(t->target.u.user.name,
 				     XT_STANDARD_TARGET) == 0) &&
-			     t->verdict < 0 &&
-			     unconditional(&e->ipv6)) || visited) {
+			     t->verdict < 0) || visited) {
 				unsigned int oldpos, size;
 
 				if ((strcmp(t->target.u.user.name,
@@ -722,7 +721,7 @@ static bool check_underflow(const struct
 	const struct xt_entry_target *t;
 	unsigned int verdict;
 
-	if (!unconditional(&e->ipv6))
+	if (!unconditional(e))
 		return false;
 	t = ip6t_get_target_c(e);
 	if (strcmp(t->u.user.name, XT_STANDARD_TARGET) != 0)
@@ -770,9 +769,9 @@ check_entry_size_and_hooks(struct ip6t_e
 			newinfo->hook_entry[h] = hook_entries[h];
 		if ((unsigned char *)e - base == underflows[h]) {
 			if (!check_underflow(e)) {
-				pr_err("Underflows must be unconditional and "
-				       "use the STANDARD target with "
-				       "ACCEPT/DROP\n");
+				pr_debug("Underflows must be unconditional and "
+					 "use the STANDARD target with "
+					 "ACCEPT/DROP\n");
 				return -EINVAL;
 			}
 			newinfo->underflow[h] = underflows[h];

[toc] | [prev] | [next] | [standalone]


#1388548 — [PATCH 3.2 003/115] 8250: use callbacks to access UART_DLL/UART_DLM

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 003/115] 8250: use callbacks to access UART_DLL/UART_DLM
Message-ID<rslPY-pf-29@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Sebastian Frias <sf84@laposte.net>

commit 0b41ce991052022c030fd868e03877700220b090 upstream.

Some UART HW has a single register combining UART_DLL/UART_DLM
(this was probably forgotten in the change that introduced the
callbacks, commit b32b19b8ffc05cbd3bf91c65e205f6a912ca15d9)

Fixes: b32b19b8ffc0 ("[SERIAL] 8250: set divisor register correctly ...")

Signed-off-by: Sebastian Frias <sf84@laposte.net>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2:
 - Adjust filename
 - We're using serial_{in,out}p for 8-bit I/O]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/tty/serial/8250.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

--- a/drivers/tty/serial/8250.c
+++ b/drivers/tty/serial/8250.c
@@ -777,22 +777,16 @@ static int size_fifo(struct uart_8250_po
  */
 static unsigned int autoconfig_read_divisor_id(struct uart_8250_port *p)
 {
-	unsigned char old_dll, old_dlm, old_lcr;
-	unsigned int id;
+	unsigned char old_lcr;
+	unsigned int id, old_dl;
 
 	old_lcr = serial_inp(p, UART_LCR);
 	serial_outp(p, UART_LCR, UART_LCR_CONF_MODE_A);
+	old_dl = serial_dl_read(p);
+	serial_dl_write(p, 0);
+	id = serial_dl_read(p);
+	serial_dl_write(p, old_dl);
 
-	old_dll = serial_inp(p, UART_DLL);
-	old_dlm = serial_inp(p, UART_DLM);
-
-	serial_outp(p, UART_DLL, 0);
-	serial_outp(p, UART_DLM, 0);
-
-	id = serial_inp(p, UART_DLL) | serial_inp(p, UART_DLM) << 8;
-
-	serial_outp(p, UART_DLL, old_dll);
-	serial_outp(p, UART_DLM, old_dlm);
 	serial_outp(p, UART_LCR, old_lcr);
 
 	return id;

[toc] | [prev] | [next] | [standalone]


#1388551 — [PATCH 3.2 013/115] Bluetooth: btusb: Add a new AR3012 ID 04ca:3014

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 013/115] Bluetooth: btusb: Add a new AR3012 ID 04ca:3014
Message-ID<rslPY-pf-35@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Dmitry Tunin <hanipouspilot@gmail.com>

commit 81d90442eac779938217c3444b240aa51fd3db47 upstream.

T: Bus=01 Lev=01 Prnt=01 Port=04 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04ca ProdID=3014 Rev=00.02
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

BugLink: https://bugs.launchpad.net/bugs/1546694

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/bluetooth/ath3k.c | 2 ++
 drivers/bluetooth/btusb.c | 1 +
 2 files changed, 3 insertions(+)

--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -90,6 +90,7 @@ static struct usb_device_id ath3k_table[
 	{ USB_DEVICE(0x04CA, 0x300b) },
 	{ USB_DEVICE(0x04CA, 0x300f) },
 	{ USB_DEVICE(0x04CA, 0x3010) },
+	{ USB_DEVICE(0x04CA, 0x3014) },
 	{ USB_DEVICE(0x0930, 0x0219) },
 	{ USB_DEVICE(0x0930, 0x021c) },
 	{ USB_DEVICE(0x0930, 0x0220) },
@@ -152,6 +153,7 @@ static struct usb_device_id ath3k_blist_
 	{ USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x04ca, 0x3014), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x021c), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x0220), .driver_info = BTUSB_ATH3012 },
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -175,6 +175,7 @@ static struct usb_device_id blacklist_ta
 	{ USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x04ca, 0x3014), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x021c), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x0220), .driver_info = BTUSB_ATH3012 },

[toc] | [prev] | [next] | [standalone]


#1388552 — [PATCH 3.2 005/115] usb: retry reset if a device times out

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 005/115] usb: retry reset if a device times out
Message-ID<rslPY-pf-31@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Oliver Neukum <oneukum@suse.com>

commit 264904ccc33c604d4b3141bbd33808152dfac45b upstream.

Some devices I got show an inability to operate right after
power on if they are already connected. They are beyond recovery
if the descriptors are requested multiple times. So in case of
a timeout we rather bail early and reset again. But it must be
done only on the first loop lest we get into a reset/time out
spiral that can be overcome with a retry.

This patch is a rework of a patch that fell through the cracks.
http://www.spinics.net/lists/linux-usb/msg103263.html

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/usb/core/hub.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -3171,7 +3171,13 @@ hub_port_init (struct usb_hub *hub, stru
 						r = -EPROTO;
 					break;
 				}
-				if (r == 0)
+				/*
+				 * Some devices time out if they are powered on
+				 * when already connected. They need a second
+				 * reset. But only on the first attempt,
+				 * lest we get into a time out/reset loop
+				 */
+				if (r == 0  || (r == -ETIMEDOUT && j == 0))
 					break;
 			}
 			udev->descriptor.bMaxPacketSize0 =

[toc] | [prev] | [next] | [standalone]


#1388553 — [PATCH 3.2 010/115] mac80211: avoid excessive stack usage in sta_info

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 010/115] mac80211: avoid excessive stack usage in sta_info
Message-ID<rslPY-pf-37@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Arnd Bergmann <arnd@arndb.de>

commit 0ef049dc1167fe834d0ad5d63f89eddc5c70f6e4 upstream.

When CONFIG_OPTIMIZE_INLINING is set, the sta_info_insert_finish
function consumes more stack than normally, exceeding the
1024 byte limit on ARM:

net/mac80211/sta_info.c: In function 'sta_info_insert_finish':
net/mac80211/sta_info.c:561:1: error: the frame size of 1080 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]

It turns out that there are two functions that put a 'struct station_info'
on the stack: __sta_info_destroy_part2 and sta_info_insert_finish, and
this structure alone requires up to 792 bytes.

Hoping that both are called rarely enough, this replaces the
on-stack structure with a dynamic allocation, which unfortunately
requires some suboptimal error handling for out-of-memory.

The __sta_info_destroy_part2 function is actually affected by the
stack usage twice because it calls cfg80211_del_sta_sinfo(), which
has another instance of struct station_info on its stack.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 98b6218388e3 ("mac80211/cfg80211: add station events")
Fixes: 6f7a8d26e266 ("mac80211: send statistics with delete station event")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[bwh: Backported to 3.2:
 - There's only one instance to fix
 - Adjust context,indentation
 - Use 'return' instead of 'goto out_err']
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -344,12 +344,16 @@ static int sta_info_finish_insert(struct
 {
 	struct ieee80211_local *local = sta->local;
 	struct ieee80211_sub_if_data *sdata = sta->sdata;
-	struct station_info sinfo;
+	struct station_info *sinfo;
 	unsigned long flags;
 	int err = 0;
 
 	lockdep_assert_held(&local->sta_mtx);
 
+	sinfo = kzalloc(sizeof(struct station_info), GFP_KERNEL);
+	if (!sinfo)
+		return -ENOMEM;
+
 	if (!sta->dummy || dummy_reinsert) {
 		/* notify driver */
 		if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
@@ -397,12 +401,11 @@ static int sta_info_finish_insert(struct
 		ieee80211_sta_debugfs_add(sta);
 		rate_control_add_sta_debugfs(sta);
 
-		memset(&sinfo, 0, sizeof(sinfo));
-		sinfo.filled = 0;
-		sinfo.generation = local->sta_generation;
-		cfg80211_new_sta(sdata->dev, sta->sta.addr, &sinfo, GFP_KERNEL);
+		sinfo->generation = local->sta_generation;
+		cfg80211_new_sta(sdata->dev, sta->sta.addr, sinfo, GFP_KERNEL);
 	}
 
+	kfree(sinfo);
 	return 0;
 }
 

[toc] | [prev] | [next] | [standalone]


#1388555 — [PATCH 3.2 017/115] xfs: fix two memory leaks in xfs_attr_list.c error paths

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 017/115] xfs: fix two memory leaks in xfs_attr_list.c error paths
Message-ID<rslPZ-pf-41@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Mateusz Guzik <mguzik@redhat.com>

commit 2e83b79b2d6c78bf1b4aa227938a214dcbddc83f upstream.

This plugs 2 trivial leaks in xfs_attr_shortform_list and
xfs_attr3_leaf_list_int.

Signed-off-by: Mateusz Guzik <mguzik@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 fs/xfs/xfs_attr_leaf.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

--- a/fs/xfs/xfs_attr_leaf.c
+++ b/fs/xfs/xfs_attr_leaf.c
@@ -721,8 +721,10 @@ xfs_attr_shortform_list(xfs_attr_list_co
 					sbp->namelen,
 					sbp->valuelen,
 					&sbp->name[sbp->namelen]);
-		if (error)
+		if (error) {
+			kmem_free(sbuf);
 			return error;
+		}
 		if (context->seen_enough)
 			break;
 		cursor->offset++;
@@ -2404,14 +2406,13 @@ xfs_attr_leaf_list_int(xfs_dabuf_t *bp,
 				args.rmtblkno = be32_to_cpu(name_rmt->valueblk);
 				args.rmtblkcnt = XFS_B_TO_FSB(args.dp->i_mount, valuelen);
 				retval = xfs_attr_rmtval_get(&args);
-				if (retval)
-					return retval;
-				retval = context->put_listent(context,
-						entry->flags,
-						name_rmt->name,
-						(int)name_rmt->namelen,
-						valuelen,
-						args.value);
+				if (!retval)
+					retval = context->put_listent(context,
+							entry->flags,
+							name_rmt->name,
+							(int)name_rmt->namelen,
+							valuelen,
+							args.value);
 				kmem_free(args.value);
 			} else {
 				retval = context->put_listent(context,

[toc] | [prev] | [next] | [standalone]


#1388556 — [PATCH 3.2 001/115] EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 001/115] EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()
Message-ID<rslPZ-pf-43@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Dan Carpenter <dan.carpenter@oracle.com>

commit 6f3508f61c814ee852c199988a62bd954c50dfc1 upstream.

dct_sel_base_off is declared as a u64 but we're only using the lower 32
bits because of a shift wrapping bug. This can possibly truncate the
upper 16 bits of DctSelBaseOffset[47:26], causing us to misdecode the CS
row.

Fixes: c8e518d5673d ('amd64_edac: Sanitize f10_get_base_addr_offset')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/20160120095451.GB19898@mwanda
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/edac/amd64_edac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -1318,7 +1318,7 @@ static u64 f1x_get_norm_dct_addr(struct
 	u64 chan_off;
 	u64 dram_base		= get_dram_base(pvt, range);
 	u64 hole_off		= f10_dhar_offset(pvt);
-	u64 dct_sel_base_off	= (pvt->dct_sel_hi & 0xFFFFFC00) << 16;
+	u64 dct_sel_base_off	= (u64)(pvt->dct_sel_hi & 0xFFFFFC00) << 16;
 
 	if (hi_rng) {
 		/*

[toc] | [prev] | [next] | [standalone]


#1388557 — [PATCH 3.2 011/115] mac80211: fix memory leak

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 011/115] mac80211: fix memory leak
Message-ID<rslPZ-pf-45@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Sudip Mukherjee <sudip@vectorindia.org>

commit ea32f065bd3e3e09f0bcb3042f1664caf6b3e233 upstream.

On error we jumped to the error label and returned the error code but we
missed releasing sinfo.

Fixes: 5fe74014172d ("mac80211: avoid excessive stack usage in sta_info")
Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[bwh: Backported to 3.2: there's no out_err label but there is another
 error case that would leak sinfo]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 net/mac80211/sta_info.c | 1 +
 1 file changed, 1 insertion(+)

--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -362,8 +362,10 @@ static int sta_info_finish_insert(struct
 					     u.ap);
 		err = drv_sta_add(local, sdata, &sta->sta);
 		if (err) {
-			if (!async)
+			if (!async) {
+				kfree(sinfo);
 				return err;
+			}
 			printk(KERN_DEBUG "%s: failed to add IBSS STA %pM to "
 					  "driver (%d) - keeping it anyway.\n",
 			       sdata->name, sta->sta.addr, err);

[toc] | [prev] | [next] | [standalone]


#1388560 — [PATCH 3.2 002/115] [media] pwc: Add USB id for Philips Spc880nc webcam

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 002/115] [media] pwc: Add USB id for Philips Spc880nc webcam
Message-ID<rslPZ-pf-47@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Hans de Goede <hdegoede@redhat.com>

commit 7445e45d19a09e5269dc85f17f9635be29d2f76c upstream.

SPC 880NC PC camera discussions:
	http://www.pclinuxos.com/forum/index.php/topic,135688.0.html

Reported-by: Kikim <klucznik0@op.pl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/media/video/pwc/pwc-if.c | 6 ++++++
 1 file changed, 6 insertions(+)

--- a/drivers/media/video/pwc/pwc-if.c
+++ b/drivers/media/video/pwc/pwc-if.c
@@ -91,6 +91,7 @@ static const struct usb_device_id pwc_de
 	{ USB_DEVICE(0x0471, 0x0312) },
 	{ USB_DEVICE(0x0471, 0x0313) }, /* the 'new' 720K */
 	{ USB_DEVICE(0x0471, 0x0329) }, /* Philips SPC 900NC PC Camera */
+	{ USB_DEVICE(0x0471, 0x032C) }, /* Philips SPC 880NC PC Camera */
 	{ USB_DEVICE(0x069A, 0x0001) }, /* Askey */
 	{ USB_DEVICE(0x046D, 0x08B0) }, /* Logitech QuickCam Pro 3000 */
 	{ USB_DEVICE(0x046D, 0x08B1) }, /* Logitech QuickCam Notebook Pro */
@@ -965,6 +966,11 @@ static int usb_pwc_probe(struct usb_inte
 			name = "Philips SPC 900NC webcam";
 			type_id = 740;
 			break;
+		case 0x032C:
+			PWC_INFO("Philips SPC 880NC USB webcam detected.\n");
+			name = "Philips SPC 880NC webcam";
+			type_id = 740;
+			break;
 		default:
 			return -ENODEV;
 			break;

[toc] | [prev] | [next] | [standalone]


#1388562 — [PATCH 3.2 012/115] PCI: Disable IO/MEM decoding for devices with non-compliant BARs

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 012/115] PCI: Disable IO/MEM decoding for devices with non-compliant BARs
Message-ID<rslQ0-pf-53@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Bjorn Helgaas <bhelgaas@google.com>

commit b84106b4e2290c081cdab521fa832596cdfea246 upstream.

The PCI config header (first 64 bytes of each device's config space) is
defined by the PCI spec so generic software can identify the device and
manage its usage of I/O, memory, and IRQ resources.

Some non-spec-compliant devices put registers other than BARs where the
BARs should be.  When the PCI core sizes these "BARs", the reads and writes
it does may have unwanted side effects, and the "BAR" may appear to
describe non-sensical address space.

Add a flag bit to mark non-compliant devices so we don't touch their BARs.
Turn off IO/MEM decoding to prevent the devices from consuming address
space, since we can't read the BARs to find out what that address space
would be.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Andi Kleen <ak@linux.intel.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/pci/probe.c | 14 ++++++++++++++
 include/linux/pci.h |  1 +
 2 files changed, 15 insertions(+)

--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -136,6 +136,9 @@ int __pci_read_base(struct pci_dev *dev,
 	u32 l, sz, mask;
 	u16 orig_cmd;
 
+	if (dev->non_compliant_bars)
+		return 0;
+
 	mask = type ? PCI_ROM_ADDRESS_MASK : ~0;
 
 	if (!dev->mmio_always_on) {
@@ -902,6 +905,7 @@ void set_pcie_hotplug_bridge(struct pci_
 int pci_setup_device(struct pci_dev *dev)
 {
 	u32 class;
+	u16 cmd;
 	u8 hdr_type;
 	struct pci_slot *slot;
 	int pos = 0;
@@ -949,6 +953,16 @@ int pci_setup_device(struct pci_dev *dev
 	/* device class may be changed after fixup */
 	class = dev->class >> 8;
 
+	if (dev->non_compliant_bars) {
+		pci_read_config_word(dev, PCI_COMMAND, &cmd);
+		if (cmd & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) {
+			dev_info(&dev->dev, "device has non-compliant BARs; disabling IO/MEM decoding\n");
+			cmd &= ~PCI_COMMAND_IO;
+			cmd &= ~PCI_COMMAND_MEMORY;
+			pci_write_config_word(dev, PCI_COMMAND, cmd);
+		}
+	}
+
 	switch (dev->hdr_type) {		    /* header type */
 	case PCI_HEADER_TYPE_NORMAL:		    /* standard header */
 		if (class == PCI_CLASS_BRIDGE_PCI)
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -327,6 +327,7 @@ struct pci_dev {
 	unsigned int    is_hotplug_bridge:1;
 	unsigned int    __aer_firmware_first_valid:1;
 	unsigned int	__aer_firmware_first:1;
+	unsigned int	non_compliant_bars:1;	/* broken BARs; ignore them */
 	pci_dev_flags_t dev_flags;
 	atomic_t	enable_cnt;	/* pci_enable_device has been called */
 

[toc] | [prev] | [next] | [standalone]


#1388564 — [PATCH 3.2 113/115] jme: Do not enable NIC WoL functions on S0

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 113/115] jme: Do not enable NIC WoL functions on S0
Message-ID<rslQ0-pf-59@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Guo-Fu Tseng <cooldavid@cooldavid.org>

commit 0772a99b818079e628a1da122ac7ee023faed83e upstream.

Otherwise it might be back on resume right after going to suspend in
some hardware.

Reported-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/net/ethernet/jme.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

--- a/drivers/net/ethernet/jme.c
+++ b/drivers/net/ethernet/jme.c
@@ -269,11 +269,17 @@ jme_reset_mac_processor(struct jme_adapt
 }
 
 static inline void
-jme_clear_pm(struct jme_adapter *jme)
+jme_clear_pm_enable_wol(struct jme_adapter *jme)
 {
 	jwrite32(jme, JME_PMCS, PMCS_STMASK | jme->reg_pmcs);
 }
 
+static inline void
+jme_clear_pm_disable_wol(struct jme_adapter *jme)
+{
+	jwrite32(jme, JME_PMCS, PMCS_STMASK);
+}
+
 static int
 jme_reload_eeprom(struct jme_adapter *jme)
 {
@@ -1856,7 +1862,7 @@ jme_open(struct net_device *netdev)
 	struct jme_adapter *jme = netdev_priv(netdev);
 	int rc;
 
-	jme_clear_pm(jme);
+	jme_clear_pm_disable_wol(jme);
 	JME_NAPI_ENABLE(jme);
 
 	tasklet_enable(&jme->linkch_task);
@@ -1928,7 +1934,7 @@ jme_powersave_phy(struct jme_adapter *jm
 		jme_set_100m_half(jme);
 		if (jme->reg_pmcs & (PMCS_LFEN | PMCS_LREN))
 			jme_wait_link(jme);
-		jme_clear_pm(jme);
+		jme_clear_pm_enable_wol(jme);
 	} else {
 		jme_phy_off(jme);
 	}
@@ -2616,7 +2622,6 @@ jme_set_wol(struct net_device *netdev,
 	if (wol->wolopts & WAKE_MAGIC)
 		jme->reg_pmcs |= PMCS_MFEN;
 
-	jwrite32(jme, JME_PMCS, jme->reg_pmcs);
 	device_set_wakeup_enable(&jme->pdev->dev, !!(jme->reg_pmcs));
 
 	return 0;
@@ -3142,7 +3147,7 @@ jme_init_one(struct pci_dev *pdev,
 	jme->mii_if.mdio_read = jme_mdio_read;
 	jme->mii_if.mdio_write = jme_mdio_write;
 
-	jme_clear_pm(jme);
+	jme_clear_pm_disable_wol(jme);
 	pci_set_power_state(jme->pdev, PCI_D0);
 	device_set_wakeup_enable(&pdev->dev, true);
 
@@ -3277,7 +3282,7 @@ jme_resume(struct device *dev)
 	if (!netif_running(netdev))
 		return 0;
 
-	jme_clear_pm(jme);
+	jme_clear_pm_disable_wol(jme);
 	jme_phy_on(jme);
 	if (test_bit(JME_FLAG_SSET, &jme->flags))
 		jme_set_settings(netdev, &jme->old_ecmd);

[toc] | [prev] | [next] | [standalone]


#1388566 — [PATCH 3.2 009/115] aacraid: Fix memory leak in aac_fib_map_free

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-27 02:50 +0200
Subject[PATCH 3.2 009/115] aacraid: Fix memory leak in aac_fib_map_free
Message-ID<rslQ0-pf-65@gated-at.bofh.it>
In reply to#1388536
3.2.80-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Raghava Aditya Renukunta <raghavaaditya.renukunta@pmcs.com>

commit f88fa79a61726ce9434df9b4aede36961f709f17 upstream.

aac_fib_map_free() calls pci_free_consistent() without checking that
dev->hw_fib_va is not NULL and dev->max_fib_size is not zero.If they are
indeed NULL/0, this will result in a hang as pci_free_consistent() will
attempt to invalidate cache for the entire 64-bit address space
(which would take a very long time).

Fixed by adding a check to make sure that dev->hw_fib_va and
dev->max_fib_size are not NULL and 0 respectively.

Fixes: 9ad5204d6 - "[SCSI]aacraid: incorrect dma mapping mask during blinked recover or user initiated reset"

Signed-off-by: Raghava Aditya Renukunta <raghavaaditya.renukunta@pmcs.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/scsi/aacraid/commsup.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -83,9 +83,12 @@ static int fib_map_alloc(struct aac_dev
 
 void aac_fib_map_free(struct aac_dev *dev)
 {
-	pci_free_consistent(dev->pdev,
-	  dev->max_fib_size * (dev->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB),
-	  dev->hw_fib_va, dev->hw_fib_pa);
+	if (dev->hw_fib_va && dev->max_fib_size) {
+		pci_free_consistent(dev->pdev,
+		(dev->max_fib_size *
+		(dev->scsi_host_ptr->can_queue + AAC_NUM_MGT_FIB)),
+		dev->hw_fib_va, dev->hw_fib_pa);
+	}
 	dev->hw_fib_va = NULL;
 	dev->hw_fib_pa = 0;
 }

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | linux.kernel


csiph-web