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


Groups > linux.kernel > #1214986 > unrolled thread

[3.19.y-ckt stable] Linux 3.19.8-ckt6 stable review

Started byKamal Mostafa <kamal@canonical.com>
First post2015-08-28 01:00 +0200
Last post2015-08-28 01:00 +0200
Articles 12 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [3.19.y-ckt stable] Linux 3.19.8-ckt6 stable review Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 005/130] ata: pmp: add quirk for Marvell 4140 SATA PMP Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect. Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
      Re: [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on  disconnect. Richard Stearn <richard@rns-stearn.demon.co.uk> - 2015-08-28 11:00 +0200
        Re: [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on  disconnect. Kamal Mostafa <kamal@canonical.com> - 2015-08-28 23:10 +0200
    [PATCH 3.19.y-ckt 012/130] libata: increase the timeout when setting transfer mode Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 007/130] efi: Handle memory error structures produced based on old versions of standard Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 011/130] libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 004/130] HID: cp2112: fix to force single data-report reply Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 016/130] Input: zforce - don't overwrite the stack Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 008/130] phy: berlin-usb: fix divider for BG2CD Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200
    [PATCH 3.19.y-ckt 003/130] iwlwifi: mvm: fix antenna selection when BT is active Kamal Mostafa <kamal@canonical.com> - 2015-08-28 01:00 +0200

#1214986 — [3.19.y-ckt stable] Linux 3.19.8-ckt6 stable review

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[3.19.y-ckt stable] Linux 3.19.8-ckt6 stable review
Message-ID<q2dGx-Mo-3@gated-at.bofh.it>
This is the start of the review cycle for the Linux 3.19.8-ckt6 stable kernel.

This version contains 130 new patches, summarized below.  The new patches are
posted as replies to this message and also available in this git branch:

http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.19.y-review

git://kernel.ubuntu.com/ubuntu/linux.git  linux-3.19.y-review

The review period for version 3.19.8-ckt6 will be open for the next three days.
To report a problem, please reply to the relevant follow-up patch message.

For more information about the Linux 3.19.y-ckt extended stable kernel version,
see https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable .

 -Kamal

--
 arch/arm/boot/dts/imx35.dtsi                  |   8 +-
 arch/arm/mach-omap2/omap_hwmod.c              |  24 +-
 arch/arm64/kernel/efi.c                       |   4 +-
 arch/avr32/mach-at32ap/clock.c                |  20 +-
 arch/tile/kernel/setup.c                      |   2 +-
 arch/x86/boot/compressed/eboot.c              |   4 +
 arch/x86/include/asm/switch_to.h              |  12 +-
 arch/x86/mm/mmap.c                            |   7 +
 arch/x86/mm/mpx.c                             |  20 +-
 arch/x86/mm/tlb.c                             |   2 +-
 arch/x86/platform/efi/efi.c                   |   5 +
 arch/x86/xen/enlighten.c                      |  40 ++
 block/bio.c                                   |  15 +-
 block/blk-cgroup.c                            |   6 +-
 drivers/ata/libata-core.c                     |  21 +-
 drivers/ata/libata-pmp.c                      |   7 +
 drivers/ata/libata-scsi.c                     |   3 +-
 drivers/dma/pl330.c                           |   1 +
 drivers/firmware/efi/cper.c                   |  15 +-
 drivers/firmware/efi/efi.c                    |   5 +
 drivers/gpu/drm/drm_crtc.c                    |   5 +-
 drivers/gpu/drm/i915/i915_drv.h               |  17 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c        |   5 +-
 drivers/gpu/drm/i915/intel_uncore.c           |  26 +-
 drivers/gpu/drm/nouveau/nv04_fbcon.c          |   2 +-
 drivers/gpu/drm/radeon/radeon_combios.c       |   7 +-
 drivers/hid/hid-cp2112.c                      |   2 +
 drivers/iio/adc/vf610_adc.c                   |   2 +-
 drivers/infiniband/ulp/isert/ib_isert.c       |  16 +-
 drivers/input/touchscreen/usbtouchscreen.c    |   3 +
 drivers/input/touchscreen/zforce_ts.c         |   2 +-
 drivers/iommu/intel-iommu.c                   |   8 +-
 drivers/isdn/gigaset/ser-gigaset.c            |  11 +-
 drivers/md/md.c                               |   2 +-
 drivers/md/raid1.c                            |   2 +-
 drivers/md/raid10.c                           |   5 +-
 drivers/misc/mei/main.c                       |   2 +-
 drivers/mmc/card/block.c                      |   2 +
 drivers/mmc/host/omap_hsmmc.c                 |   8 +-
 drivers/mmc/host/sdhci-esdhc.h                |   2 +-
 drivers/mmc/host/sdhci-pxav3.c                |   1 +
 drivers/mmc/host/sdhci.c                      |   7 +-
 drivers/net/bonding/bond_main.c               |  14 +-
 drivers/net/can/spi/mcp251x.c                 |  13 +-
 drivers/net/ethernet/marvell/mvneta.c         |  22 +-
 drivers/net/ethernet/mellanox/mlx4/eq.c       |   4 +-
 drivers/net/ethernet/sun/niu.c                |   4 +-
 drivers/net/ipvlan/ipvlan.h                   |   5 +
 drivers/net/ipvlan/ipvlan_core.c              |   2 +-
 drivers/net/wireless/iwlwifi/mvm/tx.c         |   2 +-
 drivers/net/xen-netback/netback.c             |   6 +-
 drivers/phy/phy-berlin-usb.c                  |   4 +-
 drivers/pinctrl/freescale/pinctrl-imx1-core.c |   3 +-
 drivers/regulator/s2mps11.c                   |  14 +-
 drivers/scsi/ipr.c                            |  28 +-
 drivers/scsi/ipr.h                            |   1 +
 drivers/scsi/qla2xxx/qla_dbg.c                |   6 +-
 drivers/scsi/qla2xxx/qla_def.h                |  12 +
 drivers/scsi/qla2xxx/qla_init.c               | 186 +++++--
 drivers/scsi/qla2xxx/qla_iocb.c               |   3 +
 drivers/scsi/qla2xxx/qla_os.c                 |  11 +-
 drivers/scsi/qla2xxx/qla_target.c             | 752 +++++++++++++++++++++++---
 drivers/scsi/qla2xxx/qla_target.h             |  69 ++-
 drivers/scsi/qla2xxx/tcm_qla2xxx.c            |  23 +-
 drivers/scsi/scsi_error.c                     |   2 +-
 drivers/scsi/scsi_lib.c                       |   6 +-
 drivers/spi/spi-imx.c                         |   5 +-
 drivers/target/iscsi/iscsi_target.c           | 148 ++---
 drivers/target/iscsi/iscsi_target_core.h      |   8 +
 drivers/target/iscsi/iscsi_target_erl0.c      |  13 +-
 drivers/target/iscsi/iscsi_target_login.c     |  84 ++-
 drivers/target/iscsi/iscsi_target_login.h     |   3 +-
 drivers/target/iscsi/iscsi_target_nego.c      |  34 +-
 drivers/tty/serial/serial_core.c              |   3 +-
 drivers/usb/core/hcd.c                        |   7 +-
 drivers/usb/core/hub.c                        |   2 +-
 drivers/usb/core/usb.h                        |   1 +
 drivers/usb/dwc3/ep0.c                        |   4 +
 drivers/usb/gadget/udc/mv_udc_core.c          |   2 +-
 drivers/usb/host/ohci-q.c                     |   7 +-
 drivers/usb/host/xhci-hub.c                   |  22 +-
 drivers/usb/host/xhci-mem.c                   |   2 +-
 drivers/usb/host/xhci-ring.c                  |   3 +
 drivers/usb/host/xhci.c                       |   3 +
 drivers/usb/host/xhci.h                       |   1 +
 drivers/usb/storage/unusual_devs.h            |  12 +
 drivers/vhost/vhost.c                         |   1 +
 fs/nfs/inode.c                                |   8 +-
 fs/xfs/libxfs/xfs_attr_remote.c               |  44 +-
 fs/xfs/xfs_log_recover.c                      |  11 +-
 include/linux/ata.h                           |   1 +
 include/linux/cper.h                          |  22 +-
 include/linux/ftrace.h                        |   3 +
 include/linux/libata.h                        |   2 +
 include/linux/mtd/nand.h                      |  10 +-
 include/net/act_api.h                         |   8 +-
 include/net/inet_frag.h                       |   2 +
 include/uapi/drm/i915_drm.h                   |   8 +
 kernel/trace/ftrace.c                         |  52 +-
 net/ax25/ax25_subr.c                          |   1 +
 net/bridge/br_mdb.c                           |   2 +-
 net/bridge/br_netlink.c                       |  10 +-
 net/core/datagram.c                           |  41 +-
 net/ipv4/inet_fragment.c                      |   8 +-
 net/ipv4/ip_fragment.c                        |   7 +-
 net/mac80211/debugfs_netdev.c                 |   1 +
 net/netfilter/ipvs/ip_vs_core.c               |  16 +-
 net/netfilter/ipvs/ip_vs_ctl.c                |  78 ++-
 net/netfilter/ipvs/ip_vs_sched.c              |  12 +-
 net/netfilter/ipvs/ip_vs_sync.c               |   2 +-
 net/netfilter/ipvs/ip_vs_xmit.c               |  28 +-
 net/netfilter/nf_conntrack_expect.c           |   3 +-
 net/netfilter/nf_conntrack_netlink.c          |   5 -
 net/packet/af_packet.c                        |  11 +-
 net/sched/act_api.c                           |  11 +-
 net/sched/act_pedit.c                         |   5 +-
 net/sched/cls_bpf.c                           |   2 +-
 net/sched/cls_flow.c                          |   5 +-
 net/sched/sch_fq_codel.c                      |   2 +-
 net/sched/sch_sfq.c                           |   2 +-
 sound/core/pcm_native.c                       |   2 +-
 sound/pci/hda/hda_intel.c                     |   8 +
 sound/pci/hda/patch_cirrus.c                  |   4 +-
 sound/pci/hda/patch_hdmi.c                    |   2 +
 sound/pci/hda/patch_realtek.c                 |  16 +-
 sound/pci/hda/patch_sigmatel.c                |   3 +-
 sound/soc/codecs/pcm1681.c                    |   2 +-
 sound/soc/codecs/ssm4567.c                    |   8 +-
 sound/soc/soc-dapm.c                          |  21 +-
 sound/usb/mixer_maps.c                        |  24 +
 130 files changed, 1884 insertions(+), 544 deletions(-)

AMAN DEEP (1):
      usb: xhci: Bugfix for NULL pointer deference in xhci_endpoint_init() function

Aaron Plattner (1):
      ALSA: hda - Add new GPU codec ID 0x10de007d to snd-hda

Alan Stern (1):
      USB: OHCI: Fix race between ED unlink and URB submission

Aleksei Mamlin (1):
      libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for HP 250GB SATA disk VB0250EAVER

Alex Deucher (1):
      drm/radeon/combios: add some validation of lvds values

Alex Gartrell (1):
      ipvs: skb_orphan in case of forwarding

Alex Williamson (1):
      iommu/vt-d: Fix VM domain ID leak

Alexander Drozdov (1):
      packet: tpacket_snd(): fix signed/unsigned comparison

Alexei Potashnik (6):
      qla2xxx: delay plogi/prli ack until existing sessions are deleted
      qla2xxx: Abort stale cmds on qla_tgt_wq when plogi arrives
      qla2xxx: added sess generations to detect RSCN update races
      qla2xxx: disable scsi_transport_fc registration in target mode
      qla2xxx: drop cmds/tmrs arrived while session is being deleted
      qla2xxx: terminate exchange when command is aborted by LIO

Alexey Khoroshilov (1):
      usb: gadget: mv_udc_core: fix phy_regs I/O memory leak

Andy Lutomirski (2):
      x86/xen: Probe target addresses in set_aliased_prot() before the hypercall
      Revert "sched/x86_64: Don't save flags on context switch"

Andy Shevchenko (1):
      avr32: handle NULL as a valid clock object

Antonio Borneo (1):
      HID: cp2112: fix to force single data-report reply

Ard Biesheuvel (1):
      arm64/efi: map the entire UEFI vendor string before reading it

Arne Fitzenreiter (2):
      libata: add ATA_HORKAGE_NOTRIM
      libata: force disable trim for SuperSSpeed S238

Axel Lin (1):
      ASoC: pcm1681: Fix setting de-emphasis sampling rate selection

Ben Zhang (1):
      ASoC: ssm4567: Keep TDM_BCLKS in ssm4567_set_dai_fmt

Benjamin Randazzo (1):
      md: use kzalloc() when bitmap is disabled

Bernhard Bender (1):
      Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen

Brian Campbell (1):
      xhci: Calculate old endpoints correctly on device reset

Brian King (3):
      ipr: Fix locking for unit attention handling
      ipr: Fix incorrect trace indexing
      ipr: Fix invalid array indexing for HRRQ

Chris Metcalf (1):
      tile: use free_bootmem_late() for initrd

Chris Wilson (3):
      drm/i915: Use two 32bit reads for select 64bit REG_READ ioctls
      drm/i915: Replace WARN inside I915_READ64_2x32 with retry loop
      drm/i915: Declare the swizzling unknown for L-shaped configurations

Dan Carpenter (2):
      net/xen-netback: off by one in BUG_ON() condition
      ALSA: hda - fix cs4210_spdif_automute()

Daniel Borkmann (3):
      sched: cls_bpf: fix panic on filter replace
      sched: cls_flow: fix panic on filter replace
      net: sched: fix refcount imbalance in actions

Daniel Vetter (1):
      drm: Stop resetting connector state to unknown

Dave Chinner (2):
      xfs: remote attribute headers contain an invalid LSN
      xfs: remote attributes need to be considered data

Dave Hansen (1):
      x86/mm: Add parenthesis for TLB tracepoint size calculation

David Henningsson (1):
      ALSA: hda - Add headset mic pin quirk for a Dell device

David Milburn (1):
      libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit

Denis Carikli (1):
      ARM: dts: i.MX35: Fix can support.

Dmitry Skorodumov (1):
      x86/efi: Use all 64 bit of efi_memmap in setup_e820()

Edward Hyunkoo Jee (1):
      inet: frags: fix defragmented packet's IP header for af_packet

Emmanuel Grumbach (1):
      iwlwifi: mvm: fix antenna selection when BT is active

Florian Westphal (1):
      inet: frag: don't re-use chainlist for evictor

Fugang Duan (1):
      iio: adc: vf610: fix the adc register read fail issue

Herbert Xu (1):
      net: Clone skb before setting peeked flag

Himanshu Madhani (1):
      qla2xxx: Remove msleep in qlt_send_term_exchange

Ilia Mirkin (1):
      drm/nouveau/fbcon/nv11-: correctly account for ring space usage

Jack Morgenstein (1):
      net/mlx4_core: Fix wrong index in propagating port change event to VFs

Jingju Hou (1):
      mmc: sdhci-pxav3: fix platform_data is not initialized

Jiri Pirko (1):
      niu: don't count tx error twice in case of headroom realloc fails

Joakim Tjernlund (1):
      mmc: sdhci-esdhc: Make 8BIT bus work

Joe Stringer (1):
      netfilter: nf_conntrack: Support expectations in different zones

John Youn (1):
      usb: dwc3: Reset the transfer resource index on SET_INTERFACE

Julian Anastasov (3):
      ipvs: fix crash with sync protocol v0 and FTP
      ipvs: do not use random local source address for tunnels
      ipvs: fix crash if scheduler is changed

Kanoj Sarcar (1):
      qla2xxx: fix command initialization in target mode.

Kirill A. Shutemov (1):
      x86/mpx: Do not set ->vm_ops on MPX VMAs

Kishon Vijay Abraham I (1):
      mmc: omap_hsmmc: Fix DTO and DCRC handling

Krzysztof Kozlowski (2):
      regulator: s2mps11: Fix GPIO suspend enable shift wrapping bug
      dmaengine: pl330: Fix overflow when reporting residue in memcpy

Lars Westerhoff (1):
      packet: missing dev_put() in packet_do_bind()

Lars-Peter Clausen (2):
      ASoC: dapm: Lock during userspace access
      ASoC: dapm: Don't add prefix to widget stream name

Lior Amsalem (1):
      ata: pmp: add quirk for Marvell 4140 SATA PMP

Lu Baolu (1):
      usb: core: lpm: set lpm_capable for root hub device

Marc-André Lureau (1):
      vhost: actually track log eventfd file

Martin K. Petersen (2):
      libata: Do not blacklist M510DC
      block: Do a full clone when splitting discard bios

Maruthi Srinivas Bayyavarapu (1):
      ALSA: hda: add new AMD PCI IDs with proper driver caps

Mateusz Sylwestrzak (1):
      ALSA: hda - Add headset mic support for Acer Aspire V5-573G

Mikulas Patocka (1):
      libata: increase the timeout when setting transfer mode

NeilBrown (2):
      md/raid10: always set reshape_safe when initializing reshape_position.
      md/raid1: fix test for 'was read error from last working device'.

Nicholas Bellinger (5):
      iscsi-target: Fix use-after-free during TPG session shutdown
      iscsi-target: Convert iscsi_thread_set usage to kthread.h
      iscsi-target: Fix iscsit_start_kthreads failure OOPs
      iscsi-target: Fix iser explicit logout TX kthread leak
      iser-target: Fix REJECT CM event use-after-free OOPs

Nikolay Aleksandrov (5):
      bonding: correctly handle bonding type change on enslave failure
      bridge: mdb: fix double add notification
      bonding: fix destruction of bond with devices different from arphrd_ether
      bridge: netlink: fix slave_changelink/br_setport race conditions
      bridge: mdb: fix delmdb state in the notification

Oleksij Rempel (1):
      Input: zforce - don't overwrite the stack

Oliver Neukum (1):
      usb-storage: ignore ZTE MF 823 card reader in mode 0x1225

Pablo Neira Ayuso (1):
      netfilter: ctnetlink: put back references to master ct and expect objects

Peng Fan (1):
      mmc: sdhci check parameters before call dma_free_coherent

Peter Hurley (1):
      serial: core: Fix crashes while echoing when closing

Quinn Tran (1):
      qla2xxx: release request queue reservation.

Ricardo Neri (1):
      efi: Check for NULL efi kernel parameters

Richard Stearn (1):
      NET: AX.25: Stop heartbeat timer on disconnect.

Roger Quadros (1):
      ARM: OMAP2+: hwmod: Fix _wait_target_ready() for hwmods without sysc

Roland Dreier (1):
      qla2xxx: kill sessions/log out initiator on RSCN and port down events

Sascha Hauer (1):
      spi: imx: Fix small DMA transfers

Saurav Kashyap (1):
      qla2xxx: Fix hardware lock/unlock issue causing kernel panic.

Scott Wood (1):
      mtd: nand: Fix NAND_USE_BOUNCE_BUFFER flag conflict

Simon Guinot (1):
      net: mvneta: fix refilling for Rx DMA buffers

Stefan Agner (1):
      can: mcp251x: fix resume when device is down

Steven Rostedt (Red Hat) (1):
      ftrace: Fix breakage of set_ftrace_pid

Swapnil Nagle (1):
      qla2xxx: cleanup cmd in qla workqueue before processing TMR

Takashi Iwai (4):
      ALSA: pcm: Fix lockdep warning with nonatomic PCM ops
      ALSA: hda - Apply fixup for another Toshiba Satellite S50D
      ALSA: hda - Apply a fixup to Dell Vostro 5480
      ALSA: hda - Fix MacBook Pro 5,2 quirk

Tejun Heo (1):
      blkcg: fix gendisk reference leak in blkg_conf_prep()

Thomas Hebb (1):
      phy: berlin-usb: fix divider for BG2CD

Tilman Schmidt (1):
      isdn/gigaset: reset tty->receive_room when attaching ser_gigaset

Tom Hughes (1):
      mac80211: clear subdir_stations when removing debugfs

Tomas Winkler (2):
      mei: prevent unloading mei hw modules while the device is opened.
      mmc: block: Add missing mmc_blk_put() in power_ro_lock_show()

Tony Battersby (1):
      scsi: fix memory leak with scsi-mq

Tony Luck (1):
      efi: Handle memory error structures produced based on old versions of standard

Trond Myklebust (1):
      NFS: Don't revalidate the mapping if both size and change attr are up to date

Uwe Kleine-König (1):
      Subject: pinctrl: imx1-core: Fix debug output in .pin_config_set callback

WANG Cong (4):
      net_sched: fix a use-after-free in sfq
      ipvlan: use rcu_deference_bh() in ipvlan_queue_xmit()
      fq_codel: fix a use-after-free
      act_pedit: check binding before calling tcf_hash_release()

Yao-Wen Mao (1):
      ALSA: usb-audio: add dB range mapping for some devices

Zhuang Jin Can (3):
      xhci: report U3 when link is in resume state
      xhci: prevent bus_suspend if SS port resuming in phase 1
      xhci: do not report PLC when link is in internal resume state
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1214987 — [PATCH 3.19.y-ckt 005/130] ata: pmp: add quirk for Marvell 4140 SATA PMP

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 005/130] ata: pmp: add quirk for Marvell 4140 SATA PMP
Message-ID<q2ejg-1y1-25@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Lior Amsalem <alior@marvell.com>

commit 945b47441d83d2392ac9f984e0267ad521f24268 upstream.

This commit adds the necessary quirk to make the Marvell 4140 SATA PMP
work properly. This PMP doesn't like SRST on port number 4 (the host
port) so this commit marks this port as not supporting SRST.

Signed-off-by: Lior Amsalem <alior@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/ata/libata-pmp.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c
index 7ccc084..85aa761 100644
--- a/drivers/ata/libata-pmp.c
+++ b/drivers/ata/libata-pmp.c
@@ -460,6 +460,13 @@ static void sata_pmp_quirks(struct ata_port *ap)
 				       ATA_LFLAG_NO_SRST |
 				       ATA_LFLAG_ASSUME_ATA;
 		}
+	} else if (vendor == 0x11ab && devid == 0x4140) {
+		/* Marvell 4140 quirks */
+		ata_for_each_link(link, ap, EDGE) {
+			/* port 4 is for SEMB device and it doesn't like SRST */
+			if (link->pmp == 4)
+				link->flags |= ATA_LFLAG_DISABLED;
+		}
 	}
 }
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214988 — [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect.

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect.
Message-ID<q2ejf-1y1-13@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Richard Stearn <richard@rns-stearn.demon.co.uk>

commit da278622bf04f8ddb14519a2b8214e108ef26101 upstream.

This may result in a kernel panic.  The bug has always existed but
somehow we've run out of luck now and it bites.

Signed-off-by: Richard Stearn <richard@rns-stearn.demon.co.uk>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 net/ax25/ax25_subr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/ax25/ax25_subr.c b/net/ax25/ax25_subr.c
index 1997538..3b78e84 100644
--- a/net/ax25/ax25_subr.c
+++ b/net/ax25/ax25_subr.c
@@ -264,6 +264,7 @@ void ax25_disconnect(ax25_cb *ax25, int reason)
 {
 	ax25_clear_queues(ax25);
 
+	ax25_stop_heartbeat(ax25);
 	ax25_stop_t1timer(ax25);
 	ax25_stop_t2timer(ax25);
 	ax25_stop_t3timer(ax25);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1215226 — Re: [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect.

FromRichard Stearn <richard@rns-stearn.demon.co.uk>
Date2015-08-28 11:00 +0200
SubjectRe: [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect.
Message-ID<q2nFU-6Jv-9@gated-at.bofh.it>
In reply to#1214988
Kamal Mostafa wrote:
> 3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

Hi Kamal

This patch should _not_ be applied.
Breaks other parts of the driver.
Investigations on-going.

Apologies for the disruption.
-- 
Regards
	Richard

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1215559 — Re: [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect.

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 23:10 +0200
SubjectRe: [PATCH 3.19.y-ckt 013/130] NET: AX.25: Stop heartbeat timer on disconnect.
Message-ID<q2z4l-6rs-5@gated-at.bofh.it>
In reply to#1215226
On Fri, 2015-08-28 at 09:52 +0100, Richard Stearn wrote:
> Kamal Mostafa wrote:
> > 3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.
> 
> Hi Kamal
> 
> This patch should _not_ be applied.
> Breaks other parts of the driver.
> Investigations on-going.
> 
> Apologies for the disruption.

No worries -- I've dropped this patch from 3.19-stable.  Thanks very
much, Richard.

 -Kamal


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214989 — [PATCH 3.19.y-ckt 012/130] libata: increase the timeout when setting transfer mode

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 012/130] libata: increase the timeout when setting transfer mode
Message-ID<q2ejg-1y1-21@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Mikulas Patocka <mpatocka@redhat.com>

commit d531be2ca2f27cca5f041b6a140504999144a617 upstream.

I have a ST4000DM000 disk. If Linux is booted while the disk is spun down,
the command that sets transfer mode causes the disk to spin up. The
spin-up takes longer than the default 5s timeout, so the command fails and
timeout is reported.

Fix this by increasing the timeout to 15s, which is enough for the disk to
spin up.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/ata/libata-core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index fc4d2a7..564c142e 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4523,7 +4523,8 @@ static unsigned int ata_dev_set_xfermode(struct ata_device *dev)
 	else /* In the ancient relic department - skip all of this */
 		return 0;
 
-	err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0);
+	/* On some disks, this command causes spin-up, so we need longer timeout */
+	err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 15000);
 
 	DPRINTK("EXIT, err_mask=%x\n", err_mask);
 	return err_mask;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214990 — [PATCH 3.19.y-ckt 007/130] efi: Handle memory error structures produced based on old versions of standard

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 007/130] efi: Handle memory error structures produced based on old versions of standard
Message-ID<q2ejg-1y1-19@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: "Luck, Tony" <tony.luck@intel.com>

commit 4c62360d7562a20c996836d163259c87d9378120 upstream.

The memory error record structure includes as its first field a
bitmask of which subsequent fields are valid. The allows new fields
to be added to the structure while keeping compatibility with older
software that parses these records. This mechanism was used between
versions 2.2 and 2.3 to add four new fields, growing the size of the
structure from 73 bytes to 80. But Linux just added all the new
fields so this test:
	if (gdata->error_data_length >= sizeof(*mem_err))
		cper_print_mem(newpfx, mem_err);
	else
		goto err_section_too_small;
now make Linux complain about old format records being too short.

Add a definition for the old format of the structure and use that
for the minimum size check. Pass the actual size to cper_print_mem()
so it can sanity check the validation_bits field to ensure that if
a BIOS using the old format sets bits as if it were new, we won't
access fields beyond the end of the structure.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/firmware/efi/cper.c | 15 ++++++++++++---
 include/linux/cper.h        | 22 +++++++++++++++++++++-
 2 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
index 4fd9961..d425374 100644
--- a/drivers/firmware/efi/cper.c
+++ b/drivers/firmware/efi/cper.c
@@ -305,10 +305,17 @@ const char *cper_mem_err_unpack(struct trace_seq *p,
 	return ret;
 }
 
-static void cper_print_mem(const char *pfx, const struct cper_sec_mem_err *mem)
+static void cper_print_mem(const char *pfx, const struct cper_sec_mem_err *mem,
+	int len)
 {
 	struct cper_mem_err_compact cmem;
 
+	/* Don't trust UEFI 2.1/2.2 structure with bad validation bits */
+	if (len == sizeof(struct cper_sec_mem_err_old) &&
+	    (mem->validation_bits & ~(CPER_MEM_VALID_RANK_NUMBER - 1))) {
+		pr_err(FW_WARN "valid bits set for fields beyond structure\n");
+		return;
+	}
 	if (mem->validation_bits & CPER_MEM_VALID_ERROR_STATUS)
 		printk("%s""error_status: 0x%016llx\n", pfx, mem->error_status);
 	if (mem->validation_bits & CPER_MEM_VALID_PA)
@@ -405,8 +412,10 @@ static void cper_estatus_print_section(
 	} else if (!uuid_le_cmp(*sec_type, CPER_SEC_PLATFORM_MEM)) {
 		struct cper_sec_mem_err *mem_err = (void *)(gdata + 1);
 		printk("%s""section_type: memory error\n", newpfx);
-		if (gdata->error_data_length >= sizeof(*mem_err))
-			cper_print_mem(newpfx, mem_err);
+		if (gdata->error_data_length >=
+		    sizeof(struct cper_sec_mem_err_old))
+			cper_print_mem(newpfx, mem_err,
+				       gdata->error_data_length);
 		else
 			goto err_section_too_small;
 	} else if (!uuid_le_cmp(*sec_type, CPER_SEC_PCIE)) {
diff --git a/include/linux/cper.h b/include/linux/cper.h
index 76abba4..dcacb1a 100644
--- a/include/linux/cper.h
+++ b/include/linux/cper.h
@@ -340,7 +340,27 @@ struct cper_ia_proc_ctx {
 	__u64	mm_reg_addr;
 };
 
-/* Memory Error Section */
+/* Old Memory Error Section UEFI 2.1, 2.2 */
+struct cper_sec_mem_err_old {
+	__u64	validation_bits;
+	__u64	error_status;
+	__u64	physical_addr;
+	__u64	physical_addr_mask;
+	__u16	node;
+	__u16	card;
+	__u16	module;
+	__u16	bank;
+	__u16	device;
+	__u16	row;
+	__u16	column;
+	__u16	bit_pos;
+	__u64	requestor_id;
+	__u64	responder_id;
+	__u64	target_id;
+	__u8	error_type;
+};
+
+/* Memory Error Section UEFI >= 2.3 */
 struct cper_sec_mem_err {
 	__u64	validation_bits;
 	__u64	error_status;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214991 — [PATCH 3.19.y-ckt 011/130] libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 011/130] libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit
Message-ID<q2ejg-1y1-23@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: David Milburn <dmilburn@redhat.com>

commit af34d637637eabaf49406eb35c948cd51ba262a6 upstream.

Since no longer limiting max_sectors to BLK_DEF_MAX_SECTORS (commit 34b48db66e08),
data corruption may occur on ST380013AS drive configured on 82801JI (ICH10 Family)
SATA controller. This patch will allow the driver to limit max_sectors as before

 # cat /sys/block/sdb/queue/max_sectors_kb
 512

I was able to double the max_sectors_kb value up to 16384 on linux-4.2.0-rc2
before seeing corruption, but seems safer to use previous limit. Without this
patch max_sectors_kb will be 32767.

tj: Minor comment update.

Reported-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes: 34b48db66e08 ("block: remove artifical max_hw_sectors cap")
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/ata/libata-core.c | 10 ++++++++++
 include/linux/ata.h       |  1 +
 include/linux/libata.h    |  2 +-
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 45a4c3f..fc4d2a7 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2486,6 +2486,10 @@ int ata_dev_configure(struct ata_device *dev)
 		dev->max_sectors = min_t(unsigned int, ATA_MAX_SECTORS_128,
 					 dev->max_sectors);
 
+	if (dev->horkage & ATA_HORKAGE_MAX_SEC_1024)
+		dev->max_sectors = min_t(unsigned int, ATA_MAX_SECTORS_1024,
+					 dev->max_sectors);
+
 	if (dev->horkage & ATA_HORKAGE_MAX_SEC_LBA48)
 		dev->max_sectors = ATA_MAX_SECTORS_LBA48;
 
@@ -4154,6 +4158,12 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "Slimtype DVD A  DS8A8SH", NULL,	ATA_HORKAGE_MAX_SEC_LBA48 },
 	{ "Slimtype DVD A  DS8A9SH", NULL,	ATA_HORKAGE_MAX_SEC_LBA48 },
 
+	/*
+	 * Causes silent data corruption with higher max sects.
+	 * http://lkml.kernel.org/g/x49wpy40ysk.fsf@segfault.boston.devel.redhat.com
+	 */
+	{ "ST380013AS",		"3.20",		ATA_HORKAGE_MAX_SEC_1024 },
+
 	/* Devices we expect to fail diagnostics */
 
 	/* Devices where NCQ should be avoided */
diff --git a/include/linux/ata.h b/include/linux/ata.h
index f2f4d8d..3c35318 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -45,6 +45,7 @@ enum {
 	ATA_SECT_SIZE		= 512,
 	ATA_MAX_SECTORS_128	= 128,
 	ATA_MAX_SECTORS		= 256,
+	ATA_MAX_SECTORS_1024    = 1024,
 	ATA_MAX_SECTORS_LBA48	= 65535,/* TODO: 65536? */
 	ATA_MAX_SECTORS_TAPE	= 65535,
 
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 0009fae..e67edef 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -432,7 +432,7 @@ enum {
 	ATA_HORKAGE_WD_BROKEN_LPM = (1 << 21),	/* some WDs have broken LPM */
 	ATA_HORKAGE_ZERO_AFTER_TRIM = (1 << 22),/* guarantees zero after trim */
 	ATA_HORKAGE_NOTRIM	= (1 << 24),	/* don't use TRIM */
-
+	ATA_HORKAGE_MAX_SEC_1024 = (1 << 25),	/* Limit max sects to 1024 */
 
 	 /* DMA mask for user DMA control: User visible values; DO NOT
 	    renumber */
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214993 — [PATCH 3.19.y-ckt 004/130] HID: cp2112: fix to force single data-report reply

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 004/130] HID: cp2112: fix to force single data-report reply
Message-ID<q2ejg-1y1-33@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Antonio Borneo <borneo.antonio@gmail.com>

commit 6debce6f4e787a8eb4cec94e7afa85fb4f40db27 upstream.

Current implementation of cp2112_raw_event() only accepts one data report at a
time. If last received data report is not fully handled yet, a new incoming
data report will overwrite it. In such case we don't guaranteed to propagate
the correct incoming data.

The trivial fix implemented here forces a single report at a time by requesting
in cp2112_read() no more than 61 byte of data, which is the payload size of a
single data report.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: Ellen Wang <ellen@cumulusnetworks.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/hid/hid-cp2112.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/hid/hid-cp2112.c b/drivers/hid/hid-cp2112.c
index 3318de6..a2dbbbe 100644
--- a/drivers/hid/hid-cp2112.c
+++ b/drivers/hid/hid-cp2112.c
@@ -356,6 +356,8 @@ static int cp2112_read(struct cp2112_device *dev, u8 *data, size_t size)
 	struct cp2112_force_read_report report;
 	int ret;
 
+	if (size > sizeof(dev->read_data))
+		size = sizeof(dev->read_data);
 	report.report = CP2112_DATA_READ_FORCE_SEND;
 	report.length = cpu_to_be16(size);
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214997 — [PATCH 3.19.y-ckt 016/130] Input: zforce - don't overwrite the stack

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 016/130] Input: zforce - don't overwrite the stack
Message-ID<q2dQd-YC-3@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Oleksij Rempel <external.Oleksij.Rempel@de.bosch.com>

commit 7d01cd261c76f95913c81554a751968a1d282d3a upstream.

If we get a corrupted packet with PAYLOAD_LENGTH > FRAME_MAXSIZE, we
will silently overwrite the stack.

Signed-off-by: Oleksij Rempel <external.Oleksij.Rempel@de.bosch.com>
Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/input/touchscreen/zforce_ts.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/zforce_ts.c b/drivers/input/touchscreen/zforce_ts.c
index 19880c7..a9e1ee3 100644
--- a/drivers/input/touchscreen/zforce_ts.c
+++ b/drivers/input/touchscreen/zforce_ts.c
@@ -430,7 +430,7 @@ static int zforce_read_packet(struct zforce_ts *ts, u8 *buf)
 		goto unlock;
 	}
 
-	if (buf[PAYLOAD_LENGTH] == 0) {
+	if (buf[PAYLOAD_LENGTH] == 0 || buf[PAYLOAD_LENGTH] > FRAME_MAXSIZE) {
 		dev_err(&client->dev, "invalid payload length: %d\n",
 			buf[PAYLOAD_LENGTH]);
 		ret = -EIO;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1214999 — [PATCH 3.19.y-ckt 008/130] phy: berlin-usb: fix divider for BG2CD

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 008/130] phy: berlin-usb: fix divider for BG2CD
Message-ID<q2ejg-1y1-41@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Thomas Hebb <tommyhebb@gmail.com>

commit 96696a9df935d15fd2e89603454c20a692ec232a upstream.

The marvell,berlin2cd-usb-phy compatible incorrectly sets the PLL
divider to BG2's value instead of BG2CD/BG2Q's. Change it to the right
value.

Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/phy/phy-berlin-usb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/phy-berlin-usb.c b/drivers/phy/phy-berlin-usb.c
index c8a8d53..cc5b26c 100644
--- a/drivers/phy/phy-berlin-usb.c
+++ b/drivers/phy/phy-berlin-usb.c
@@ -109,8 +109,8 @@
 static const u32 phy_berlin_pll_dividers[] = {
 	/* Berlin 2 */
 	CLK_REF_DIV(0xc) | FEEDBACK_CLK_DIV(0x54),
-	/* Berlin 2CD */
-	CLK_REF_DIV(0x6) | FEEDBACK_CLK_DIV(0x55),
+	/* Berlin 2CD/Q */
+	CLK_REF_DIV(0xc) | FEEDBACK_CLK_DIV(0x54),
 };
 
 struct phy_berlin_usb_priv {
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


#1215001 — [PATCH 3.19.y-ckt 003/130] iwlwifi: mvm: fix antenna selection when BT is active

FromKamal Mostafa <kamal@canonical.com>
Date2015-08-28 01:00 +0200
Subject[PATCH 3.19.y-ckt 003/130] iwlwifi: mvm: fix antenna selection when BT is active
Message-ID<q2ejh-1y1-45@gated-at.bofh.it>
In reply to#1214986
3.19.8-ckt6 -stable review patch.  If anyone has any objections, please let me know.

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

From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

commit 923a8c1d8069104726bde55c37cec66324ccc328 upstream.

When BT is active, we want to avoid the shared antenna for
management frame to make sure we don't disturb BT. There
was a bug in that code because it chose the antenna
BIT(ANT_A) where ANT_A is already a bitmap (0x1). This
means that the antenna chosen in the end was ANT_B.
While this is not optimal on devices with 2 antennas (it'd
disturb BT), it is critical on single antenna devices like
3160 which couldn't connect at all when BT was active.

This fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=97181

Fixes: 34c8b24ff284 ("iwlwifi: mvm: BT Coex - avoid the shared antenna for management frames")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/net/wireless/iwlwifi/mvm/tx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/iwlwifi/mvm/tx.c b/drivers/net/wireless/iwlwifi/mvm/tx.c
index 650a5f0..ac12bc5 100644
--- a/drivers/net/wireless/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/iwlwifi/mvm/tx.c
@@ -225,7 +225,7 @@ void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
 
 	if (info->band == IEEE80211_BAND_2GHZ &&
 	    !iwl_mvm_bt_coex_is_shared_ant_avail(mvm))
-		rate_flags = BIT(mvm->cfg->non_shared_ant) << RATE_MCS_ANT_POS;
+		rate_flags = mvm->cfg->non_shared_ant << RATE_MCS_ANT_POS;
 	else
 		rate_flags =
 			BIT(mvm->mgmt_last_antenna_idx) << RATE_MCS_ANT_POS;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web