Commit graph

581086 commits

Author SHA1 Message Date
Linux Build Service Account
443502cc09 Merge "timers: Fix documentation for schedule_timeout() and similar" 2017-01-09 12:42:33 -08:00
Linux Build Service Account
8f67fe8656 Merge "timers: Fix usleep_range() in the context of wake_up_process()" 2017-01-09 12:42:32 -08:00
Linux Build Service Account
2f996ae5f9 Merge "timers: Plug locking race vs. timer migration" 2017-01-09 12:42:32 -08:00
Linux Build Service Account
b21cbc3678 Merge "msm: camera: isp: Update UB Size for SDM660" 2017-01-09 12:42:25 -08:00
Derek Chen
b5e3d1e282 ASoC: msm: qdsp6v2: Add control for ICC Volume
Add control via ADM set PP Params to control volume of ICC
through a mixer command "Internal ICC Volume".

CRs-fixed: 1025376
Change-Id: I2b7099fe6d3a510859af42f1ac37a6db6e1b453c
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2017-01-09 10:17:59 -08:00
Phani Kumar Uppalapati
0e04c1f68d ARM: dts: msm: Add pinctrl for USB type-C analog audio on msm8998
Add pinctrl configuration in device tree to support USB type-C
analog audio on msm8998 target.

CRs-Fixed: 1102048
Change-Id: I8d531ecb8bf267ddcc1cd0702c62728dd6317118
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2017-01-09 08:30:29 -08:00
Govind Singh
63900f4bf1 Merge remote-tracking branch 'remotes/origin/tmp-896bb812' into HEAD
Current ATH10k driver snapshot is very old, up merge ATH10k project
to enable WCN3990 chipset in msm4.4 tree.

* remotes/origin/tmp-896bb812:
  ath10k: cache calibration data when the core is stopped
  ath10k: Ignore SWBA event for a vif if its marked for no beacon
  ath10k: fix error return code in ahb
  ath10k: support up to 64 vdevs
  ath10k: document cycle count related counters
  ath10k: fix typo in logging message
  ath10k: fix rfc1042 header retrieval in QCA4019 with eth decap mode
  ath10k: do not check if reset is NULL
  ath10k: use devm_reset_control_get() instead of reset_control_get()
  ath10k: use devm_clk_get() instead of clk_get()
  ath10k: spelling and miscellaneous neatening
  ath10k: remove 4-addr padding related hw_param configuration
  ath10k: properly remove padding from the start of rx payload
  ath10k: add provision for Rx descriptor abstraction
  ath10k: move ath10k_hw_params definition to hw.h
  ath10k: improve logging message
  ath10k: enable peer stats by default
  ath10k: remove unused variable ar_pci
  ath10k: fix memory leak on caldata on error exit path
  ath10k: fix reporting channel survey data
  ath10k: remove unnecessary error code assignment
  ath10k: fix throughput regression in multi client mode
  ath10k: implement NAPI support
  ath10k: fix spelling mistake "montior" -> "monitor"
  ath10k: Fix broken NULL func data frame status for 10.4
  ath10k: replace config_enabled() with IS_REACHABLE()
  ath10k: Added support for extended dbglog module id for 10.4
  ath10k: use complete() instead complete_all()
  ath10k: fix sending frame in management path in push txq logic
  ath10k: improve wake_tx_queue ops performance
  ath10k: suppress warnings when getting wmi WDS peer event id
  ath10k: fix group privacy action frame decryption for qca4019
  ath10k: hide kernel addresses from logs using %pK format specifier
  ath10k: Add WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT wmi service
  ath10k: fix spurious tx/rx during boot
  ath10k: add wmi command barrier utility
  ath10k: implement wmi echo event
  ath10k: implement wmi echo command
  ath10k: add testmode support for 10.4 firmware
  ath10k: handle testmode events for 10.2 and 10.4 based firmware
  ath10k: move firmware_swap_code_seg_info to ath10k_fw_file
  ath10k: Remove driver log suggesting QCA9887 support is experimental
  ath10k: fix get rx_status from htt context
  tree-wide: replace config_enabled() with IS_ENABLED()
  ath10k: disable wake_tx_queue for older devices
  ath10k: fix possible wrong rx_busy time reporting in QCA4019
  ath10k: replace warning with an error message if HTT op version is unset
  ath10k: enable support for QCA9888
  ath10k: remove unused member in ath10k_hw_regs
  ath10k: Clean up peer when sta goes away.
  ath10k: Add WARN_ON if we over-write peer-map pointer.
  ath10k: remove extra space on ath10k_update_channel_list
  ath10k: simplify pktlog htt event processing
  ath10k: remove unused <linux/semaphore.h>
  ath10k: ensure peer_map references are cleaned up
  ath10k: ensure txrx-compl-task is stopped when cleaning htt-tx
  ath10k: remove debugfs support for Per STA total rx duration
  ath10k: add support for ath10k_sta_statistics support
  ath10k: fix 10.4 extended peer stats update
  mac80211: Add support for beacon report radio measurement
  ath10k: fix some typo in spectral code commments
  ath10k: disable TX_STBC for tx chainmask of 1
  ath10k: enable beacon loss detection support for 10.4
  ath10k: fix potential null dereference bugs
  ath10k: remove unneccessary WARN_ON_ONCE in rx during ACS
  ath10k: fix crash during card removal
  ath10k: fix deadlock while processing rx_in_ord_ind
  ath10k: fix cycle counter wraparound handling for QCA4019
  ath10k: define an enum to enable cycle counter wraparound logic
  ath10k: fix CCK h/w rates for QCA99X0 and newer chipsets
  ath10k: remove duplicate and unused rx rate flags
  ath10k: fix some of the macro definitions of HTT_RX_IND message
  ath10k: fix crash related to printing features
  ath10k: add board data download from target
  ath10k: add QCA9887 chipset support
  ath10k: fix deadlock when peer cannot be created
  ath10k: enable ipq4019 device probe in ahb module
  ath10k: add pdev param support to enable/disable btcoex
  ath10k: add new ATH10K_FW_FEATURE_BTCOEX_PARAM
  ath10k: update module description
  ath10k: remove unused phy_mode_to_band
  ath10k: fix operating irq mode for ahb device
  ath10k: fix error while writing 'simulate_fw_crash' debugfs
  ath10k: fix diag_read to collect data for larger memory
  ath10k: fix legacy rate packet debug messages
  ath10k: reduce warning messages during rx without proper channel context
  ath10k: improve tx scheduling
  ath10k: enable support for QCA9984
  ath10k: define rx_ppdu_end for QCA9984
  ath10k: clean up growing hw checks during safe and full reset
  ath10k: move rx_location_info out of struct rx_pkt_end
  ath10k: Fix survey reporting with QCA4019
  ath10k: suppress warnings when getting wmi peer_rate_code_list event
  ath10k: release pre_cal_file while unloading driver
  ath10k: update bss channel survey information
  ath10k: handle pdev_chan_info wmi event
  ath10k: implement wmi_pdev_bss_chan_info_request
  ath10k: add pdev bss channel info wmi definitions
  ath10k: move spectral related structures under ath10k debugfs
  ath10k: remove VHT capabilities from 2.4GHz
  ath10k: fix a typo in ath10k_start()
  ath10k: add max_tx_power for QCA6174 WLAN.RM.2.0 firmware
  ath10k: remove enum ath10k_swap_code_seg_bin_type
  ath10k: switch testmode to use ath10k_core_fetch_firmware_api_n()
  ath10k: move htt_op_version to struct ath10k_fw_file
  ath10k: move wmi_op_version to struct ath10k_fw_file
  ath10k: move fw_features to struct ath10k_fw_file
  ath10k: move fw_version inside struct ath10k_fw_file
  ath10k: refactor firmware images to struct ath10k_fw_components
  ath10k: remove deprecated firmware API 1 support
  ath10k: add dynamic tx mode switch config support for qca4019
  ath10k: add some sanity checks to peer_map_event() functions
  ath10k: fix return value for btcoex and peer stats debugfs
  ath10k: fix parenthesis alignment
  ath10k: prefer ether_addr_copy() over memcpy()
  ath10k: prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp()
  ath10k: prefer kernel type 'u64' over 'u_int64_t'
  ath10k: fix checkpatch warnings related to spaces
  ath10k: remove MSI range support
  ath10k: enable set_tsf vdev command to WMI 10.4
  ath10k: update 10.4 WMI vdev parameters
  ath10k: add a support of set_tsf on vdev interface
  ath10k: Document alloc_frag_desc_for_data_pkt config option.
  cfg80211: remove enum ieee80211_band
  ath10k: fix unconditional num_mpdus_ready subtraction
  ath10k: remove unnecessary warning for probe response drops
  ath10k: fix calibration init sequence of qca99x0
  mac80211: allow not sending MIC up from driver for HW crypto
  ath10k: parse Rx MAC timestamp in mgmt frame for FW 10.4
  ath10k: combine txrx and replenish task
  ath10k: reuse copy engine 5 (htt rx) descriptors
  ath10k: cleanup copy engine receive next completion
  ath10k: register ath10k_htt_htc_t2h_msg_handler
  ath10k: speedup htt rx descriptor processing for rx_ind
  ath10k: cleanup amsdu processing for rx indication
  ath10k: remove unused fw_desc processing
  ath10k: copy tx fetch indication message
  ath10k: speedup htt rx descriptor processing for tx completion
  ath10k: enable parsing per station rx duration for 10.4
  ath10k: introduce Extended Resource Config support for 10.4
  ath10k: enable debugfs provision to enable Peer Stats feature
  ath10k: incorporate qca4019 cal data download sequence
  ath10k: move cal data len to hw_params
  ath10k: pass cal data location as an argument to ath10k_download_cal_{file|dt}
  ath10k: fix null deref if device crashes early
  ath10k: fix pull-push tx threshold handling
  ath10k: fix tx hang
  ath10k: advertise force AP scan feature
  ath10k: free cached fw bin contents when get board id fails
  ath10k: move mgmt descriptor limit handle under mgmt_tx
  ath10k: handle channel change htt event
  ath10k: set MAC timestamp in management Rx frame
  ath10k: deliver mgmt frames from htt to monitor vifs only
  ath10k: change htt tx desc/qcache peer limit config
  ath10k: fix HTT Tx CE ring size
  ath10k: implement push-pull tx
  ath10k: keep track of queue depth per txq
  ath10k: store txq in skb_cb
  ath10k: implement updating shared htt txq state
  ath10k: implement wake_tx_queue
  ath10k: add new htt message generation/parsing logic
  ath10k: add fast peer_map lookup
  ath10k: maintain peer_id for each sta and vif
  ath10k: refactor tx pending management
  ath10k: unify txpath decision
  ath10k: refactor tx code
  ath10k: fix sanity check on enabling btcoex via debugfs
  ath10k: reduce number of peers to support peer stats feature
  ath10k: process htt rx indication as batch mode
  ath10k: reduce rx_lock contention for htt rx indication
  ath10k: fix erroneous return value
  ath10k: add hw_rev to trace events to support pktlog
  ath10k: fix pktlog in QCA99X0
  ath10k: fix pointless update of peer stats list
  ath10k: fix updating peer stats rx duration
  ath10k: remove impossible code
  ath10k: populate qca4019 fw specific wmi init params
  ath10k: add qca4019 hw params
  ath10k: add abstraction layer for vdev subtype
  ath10k: use vif->type and vif->p2p for P2P_GO check
  ath10k: update 10.4 WMI service map
  ath10k: rename Mesh related service names
  ath10k: expose hif ops for ahb
  ath10k: add resource init and deinit in ahb
  ath10k: include irq related functions in ahb
  ath10k: add chip and bus halt logic in ahb
  ath10k: add reset ctrl related functions in ahb
  ath10k: add clock ctrl related functions in ahb
  ath10k: add helper functions in ahb.c for reg rd/wr
  ath10k: include qca4019 register map table
  ath10k: add basic skeleton to support ahb
  ath10k: pull reusable code from pci probe and remove for ahb
  ath10k: make ath10k_pci_read32/write32() ops more generic
  ath10k: make some of ath10k_pci_* func reusable
  ath10k: implement basic support for new tx path firmware
  ath10k: clean up cont frag desc init code
  ath10k: add new FW_FEATURE_PEER_FLOW_CONTROL
  ath10k: add new htt definitions
  ath10k: rename some HTT events
  ath10k: remove the p2p notice of absence info from 10.2.4 FW beacon info
  ath10k: add debugfs support for Per STA total rx duration
  ath10k: enable periodic peer stats update
  ath10k: provision to support periodic peer stats update
  ath10k: rename few function names of firmware stats
  ath10k: cleanup setting pdev paramaters
  ath10k: fix naming Peer stats rssi_changed field in 10.2.4
  ath10k: add support for parsing per STA rx_duration for 10.2.4
  ath10k: prevent txrx running for too long
  mac80211: pass block ack session timeout to to driver
  ath10k: set SM power save disabled to default value
  ath10k: reduce indentation by moving powersave check within function
  ath10k: wake up device before accessing registers
  ath10k: allow Mesh Point to install peer security key
  ath10k: do not use coherent memory for allocated device memory chunks
  ath10k: remove unnecessary amsdu/ampdu assignment in debugfs
  ath10k: implement fw_checksums debugfs file
  ath10k: print crc32 checksums for firmware and board files
  ath10k: split driver info messages during device initialisation
  ath10k: always show bmi chip ids and subdevice ids
  ath10k: reorganise hardware and firmware info messages
  ath10k: fix otp board id error message
  ath10k: apply Mesh subtype when Mesh interface created.
  ath10k: introduce new subtypes for proxy STA and Mesh
  ath10k: update WMI 10.x service map
  ath10k: Fix write permission on few debugfs files
  ath10k: stop abusing GFP_DMA
  ath10k: Enable AP + STA interface combination support for 10.x
  ath10k: fix board data fetch error message
  ath10k: Fix build with CONFIG_THERMAL=m
  ath10k: store msdu_id instead of txbuf pointers
  ath10k: replace vdev_id and tid in skb cb
  ath10k: fix tx header parsing
  ath10k: pack up flags in skb_cb
  ath10k: remove freq from skb_cb
  ath10k: remove is_offchan
  ath10k: remove txmode from skb_cb
  ath10k: rename function to adhere to naming convention
  ath10k: merge is_protected with nohwcrypt
  ath10k: adjust the RX packet pad offset at QCA99X0 4addr mode
  ath10k: fix the wrong RX rate idx report at 11G mode
  ath10k: fix peerid configuration in htt tx desc for htt version < 3.4
  ath10k: rename the helper which is used for off-channel tx
  ath10k: fix peer assoc complete WMI command for 10.4
  ath10k: add support for pktlog in QCA99X0
  ath10k: debugfs file to enable Bluetooth coexistence feature
  ath10k: add new pdev params defines to 10.4
  ath10k: add new WMI cmd/event defines for 10.4
  ath10k: add new service defines for 10.4
  ath10k: add thermal throttling support for 10.4 firmware
  ath10k: set peer MFP flag in peer assoc command
  ath10k: add abstraction layer for peer flags
  ath10k: consolidate if statements in ath10k_wmi_event_mgmt_rx

Change-Id: I22c4c7c5791079b17545ef7457c54bb60fcfca80
Signed-off-by: Govind Singh <govinds@codeaurora.org>
2017-01-09 17:31:41 +05:30
Anirudh Ghayal
cfdf11870b ARM: dts: msm: Change the resource name for LPI CX/MX regulators
SDM660 has LPI (and not SSC) which uses "rwlc" and "rwlm"
as the regulator resource names. Use the same.

Change-Id: I88038d0b7ae5b73e03154cf0d03c16a2fd69fc5e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2017-01-09 16:57:00 +05:30
Linux Build Service Account
79a1a55cf8 Merge "arm64: Add TLB conflict fault handler" 2017-01-09 01:32:27 -08:00
Linux Build Service Account
8712d5fca8 Merge "ARM: dts: msm: Change FG cut-off voltage to 3.7V for SDM660 QRD" 2017-01-09 01:32:25 -08:00
Linux Build Service Account
22190d6236 Merge "msm: sde: Update rotator OT settings for sdm660" 2017-01-09 01:32:24 -08:00
Linux Build Service Account
456e674b52 Merge "msm: mdss: Avoid incorrect status while parsing dsi topology" 2017-01-09 01:32:24 -08:00
Linux Build Service Account
1939b80fcd Merge "msm: mdss: Reset compression config after dynamic DSC off" 2017-01-09 01:32:23 -08:00
Linux Build Service Account
3335bd2486 Merge "ARM: dts: msm: Allocate memory for diag client for SDM630" 2017-01-09 01:32:22 -08:00
Linux Build Service Account
ead7701ae5 Merge "ASoC: msm: Fix kernel crash in core_set_license" 2017-01-09 01:32:17 -08:00
Linux Build Service Account
3fd4881140 Merge "drivers: soc: qcom: Add overflow check for sound model size" 2017-01-09 01:32:17 -08:00
Linux Build Service Account
fd9e18a8de Merge "scsi: ufs: Add clock ungating to a separate workqueue" 2017-01-09 01:32:16 -08:00
Linux Build Service Account
860d4b5a56 Merge "clk: msm: clock-gcc-8998: keep gcc_bimc_gfx_clk on" 2017-01-09 01:32:15 -08:00
Linux Build Service Account
3b75c28dc2 Merge "ARM: dts: msm: Specify the interrupts properly for haptics on pm660" 2017-01-09 01:32:11 -08:00
Linux Build Service Account
cec4a662ea Merge "ARM: dts: msm: Specify the interrupts properly for haptics on pmi8998" 2017-01-09 01:32:10 -08:00
Linux Build Service Account
69fd33f749 Merge "qcom-charger: Fix crash due to null ptr access of pl psy" 2017-01-09 01:32:09 -08:00
Linux Build Service Account
3a12198f55 Merge "qcom-charger: typec legacy cable detection" 2017-01-09 01:32:09 -08:00
Linux Build Service Account
22b3cb62b0 Merge "lpm-levels: Do not consider cluster residency in suspend" 2017-01-09 01:32:08 -08:00
Linux Build Service Account
eb9fd932ae Merge "mmc: core: Enable HS mode first in the device and then in the host" 2017-01-09 01:32:07 -08:00
Linux Build Service Account
c52c8180c8 Merge "clk: msm: clock-osm: remove ioremaps from panic callback" 2017-01-09 01:32:06 -08:00
Linux Build Service Account
36d6426c99 Merge "qpnp-fg-gen3: show 0 time to full at 100% SOC" 2017-01-09 01:32:06 -08:00
Linux Build Service Account
1e5b699f08 Merge "pmic-voter: Allow forcing a value via debug interface" 2017-01-09 01:32:05 -08:00
Linux Build Service Account
a44f92715b Merge "ASoC: msm: qdsp6v2: DAP: Add check to validate param length" 2017-01-09 01:32:04 -08:00
Linux Build Service Account
149442b64e Merge "msm: vidc: enable passive buses while unload firmware" 2017-01-09 01:32:03 -08:00
Linux Build Service Account
834cafa954 Merge "ASoC: msm: qdsp6v2: add route for secondary MI2S TX hostless capture" 2017-01-09 01:32:03 -08:00
Linux Build Service Account
7bf4e176b4 Merge "msm: cpp: Use regulator APIs for gdsc reg access" 2017-01-09 01:32:02 -08:00
Linux Build Service Account
2113b4e7d2 Merge "msm: camera-v2: vpe: Add check to prevent index out of bounds" 2017-01-09 01:32:01 -08:00
Linux Build Service Account
e863daf413 Merge "ARM: dts: msm: Add actuator node to camera1 node for 8998" 2017-01-09 01:32:00 -08:00
Andrey Markovytch
3eab9b61f3 security: switched to stackable model for PFT/PFK module
Moved hooks from SELINUX framework to general SECURITY framework.

Change-Id: I37e701b4925c4993f724c32b258c5088f4dcbe4d
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2017-01-09 11:23:03 +02:00
Chandana Kishori Chiluveru
99392dcd7d usb: gadget: Fix null pointer crash issue in gsi_free_inst
If misc register failed then there is a chance for accessing the
null pointer in gsi_free_inst function and leads to target crash.
Hence add the change to handle the same.

Change-Id: Iaa3f7db1403ca2d87f259dec109912c5437c24f4
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
2017-01-09 11:40:22 +05:30
cyizhao
28a9e2bfa0 ARM: dts: msm: Change FG cut-off voltage to 3.7V for SDM660 QRD
SDM660 QRD device will use Groot V1.0 device which would reset
when VPH_PWR and VBOB crossover, this causes the MSM to reset and
a device reboot. Set cut-off voltage to 3.7V to avoid this happen
but this will lose some battery capacity as the penalty.

CRs-Fixed: 1107239
Change-Id: Idae459e036089fa1161d8dd81c33dc393deac3aa
Signed-off-by: cyizhao <cyizhao@codeaurora.org>
2017-01-08 18:06:46 -08:00
Walter Yang
437969bb3a ARM: dts: msm: add audio support for sdm660 qrd skus
Add support for required node for audio of sdm660 qrd skus
with tasha codec.

CRs-Fixed: 1106852
Change-Id: If61b6669ce7a22eb02c044ced240da00e1069bdf
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
2017-01-08 17:56:19 -08:00
zhenchao
48bebffe20 ARM: dts: msm: Enable blsp2_uart1_hs for sdm660 QRD
Enable blsp2_uart1 for WCN3990 for sdm660 QRD to use high
speed UART driver for bluetooth HCI interface.

CRs-Fixed: 1106765
Change-Id: I27aee84ce0f68a25181eeeb9f2404adbaf7d3600
Signed-off-by: zhenchao <zhenchao@codeaurora.org>
2017-01-08 17:54:58 -08:00
cyizhao
7e65ab057d ARM: dts: msm: Set WLED string number for SDM660 QRD
Specify the number of strings in WLED properly according to hardware
connection.

CRs-Fixed: 1108198
Change-Id: I39d3a0ba05a78d0d3204ffb56df64830d0fdedce
Signed-off-by: cyizhao <cyizhao@codeaurora.org>
2017-01-08 17:53:18 -08:00
Linux Build Service Account
08a95e6878 Merge "drm/msm: remove clock framework dependency" 2017-01-08 16:32:11 -08:00
Prasad Sodagudi
adcb849731 arm64: Add TLB conflict fault handler
Add TLB conflict fault handler and try to handle
gracefully. Check whether TLB fault can be handled
by EL2 and cause panic if EL2 is not able to handle.

Change-Id: I276ec5413411932bd8a67ed4c85ebbf66f4affcf
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
2017-01-08 12:56:28 -08:00
Linux Build Service Account
e51c3cc83f Merge "defconfig: msm: compile video drivers as builtins" 2017-01-08 08:05:53 -08:00
Linux Build Service Account
dfa7c4abac Merge "ASoC: wcd934x: Fix out of bounds for mad input value" 2017-01-08 08:05:53 -08:00
Linux Build Service Account
827cd4f6bb Merge "drivers: mfd: Add support for direct apps interrupt" 2017-01-08 08:05:52 -08:00
Linux Build Service Account
99286f0b5d Merge "ARM: dts: msm: add a new panel driver for sdm660 QRD" 2017-01-08 08:05:51 -08:00
Linux Build Service Account
824a1a6d2a Merge "ARM: dts: msm: Enable volume up key for qrd sdm660" 2017-01-08 08:05:50 -08:00
Linux Build Service Account
1f52cde69c Merge "qseecom: Rename clock handle names" 2017-01-08 08:05:46 -08:00
Linux Build Service Account
082aa733d8 Merge "msm: cpp: Fix for integer overflow in cpp" 2017-01-07 23:00:03 -08:00
Jayant Shekhar
25cd29c57b msm: mdss: Fix equation to calculate prefill count for amortization
Traffic shaper count for calculating high layer should include
low layer height along with low layer ypos. Fix the high layer end
value by adding height of the low layer.

Change-Id: Icbe1157d9506747d8670f4b7f66c183d98e920fe
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-01-08 12:05:53 +05:30
Linux Build Service Account
96f3cc94dd Merge "media: dvb-core: Fix for dvb_ringbuffer merge conflict" 2017-01-07 13:44:17 -08:00