diff options
| -rw-r--r-- | arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-la.dts | 30 | ||||
| -rw-r--r-- | arch/arm64/configs/msmcortex-perf_defconfig | 1 | ||||
| -rw-r--r-- | arch/arm64/configs/msmcortex_defconfig | 1 | ||||
| -rw-r--r-- | drivers/hid/usbhid/hiddev.c | 10 | ||||
| -rw-r--r-- | drivers/media/platform/msm/ais/isp/msm_isp_axi_util.c | 9 | ||||
| -rw-r--r-- | drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c | 96 | ||||
| -rw-r--r-- | drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 19 | ||||
| -rw-r--r-- | sound/soc/msm/qdsp6v2/q6lsm.c | 3 |
8 files changed, 97 insertions, 72 deletions
diff --git a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-la.dts b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-la.dts index 304a2ad4268f..ddc016da2597 100644 --- a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-la.dts +++ b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-la.dts @@ -228,7 +228,7 @@ qcom,mode = <0>; qcom,vin-sel = <2>; qcom,src-sel = <0>; - status = "okay"; + status = "disabled"; }; gpio@c800 { /* GPIO 9 - Rome 3.3V control */ @@ -239,7 +239,7 @@ qcom,src-sel = <0>; /* Constant */ qcom,out-strength = <1>; /* High drive strength */ qcom,master-en = <1>; /* Enable GPIO */ - status = "okay"; + status = "disabled"; }; gpio@c900 { /* GPIO 10 - NFC CLK _REQ*/ @@ -247,7 +247,7 @@ qcom,vin-sel = <2>; qcom,src-sel = <0>; qcom,master-en = <1>; - status = "okay"; + status = "disabled"; }; gpio@cd00 { /* GPIO 14 - lcd_bklt_reg_en */ @@ -258,35 +258,35 @@ qcom,src-sel = <0>; /* CONSTANT */ qcom,out-strength = <1>; /* Low drive strength */ qcom,master-en = <1>; /* ENABLE GPIO */ - status = "okay"; + status = "disabled"; }; gpio@c100 { /* GPIO 2 */ qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <2>; qcom,src-sel = <0>; - status = "okay"; + status = "disabled"; }; gpio@c300 { /* GPIO 4 - adv7481 RST */ qcom,mode = <1>; qcom,pull = <0>; qcom,vin-sel = <2>; qcom,src-sel = <0>; - status = "okay"; + status = "disabled"; }; gpio@c400 { /* GPIO 5 - adv7481 INT1 */ qcom,mode = <0>; qcom,vin-sel = <2>; qcom,src-sel = <0>; - status = "okay"; + status = "disabled"; }; gpio@c500 { /* GPIO 6 - adv7481 INT2*/ qcom,mode = <0>; qcom,vin-sel = <2>; qcom,src-sel = <0>; - status = "okay"; + status = "disabled"; }; gpio@ca00 { /* GPIO 11 - USB enb1 (otg switch) */ @@ -305,7 +305,7 @@ qcom,out-strength = <1>; qcom,src-sel = <0>; /* GPIO */ qcom,master-en = <1>; /* Enable GPIO */ - status = "okay"; + status = "disabled"; }; gpio@ce00 { /* GPIO 15 */ @@ -316,7 +316,7 @@ qcom,out-strength = <1>; qcom,src-sel = <2>; qcom,master-en = <1>; - status = "okay"; + status = "disabled"; }; gpio@d000 { /* GPIO 17 - USB1 VBUS detect */ qcom,mode = <0>; /* Digital Input*/ @@ -335,7 +335,7 @@ qcom,src-sel = <3>; /* Function 2 */ qcom,out-strength = <2>; /* Medium */ qcom,master-en = <1>; /* Enable GPIO */ - status = "okay"; + status = "disabled"; }; gpio@d200 { /* GPIO 19 - Rome BT Reset */ @@ -349,6 +349,14 @@ }; }; +&pm8994_adc_tm { + status = "disabled"; +}; + +&pm8994_vadc { + status = "disabled"; +}; + &sde_kms_hyp { qcom,client-id = "7815"; }; diff --git a/arch/arm64/configs/msmcortex-perf_defconfig b/arch/arm64/configs/msmcortex-perf_defconfig index 9be3b7160ebe..ad8600c38a28 100644 --- a/arch/arm64/configs/msmcortex-perf_defconfig +++ b/arch/arm64/configs/msmcortex-perf_defconfig @@ -656,6 +656,7 @@ CONFIG_SECURITY=y CONFIG_HARDENED_USERCOPY=y CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SMACK=y +CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_ECHAINIV=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y diff --git a/arch/arm64/configs/msmcortex_defconfig b/arch/arm64/configs/msmcortex_defconfig index 14fe16629069..5cd5eb4d3bca 100644 --- a/arch/arm64/configs/msmcortex_defconfig +++ b/arch/arm64/configs/msmcortex_defconfig @@ -732,6 +732,7 @@ CONFIG_SECURITY=y CONFIG_HARDENED_USERCOPY=y CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SMACK=y +CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_ECHAINIV=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_MD4=y diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 700145b15088..da8fd9580223 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -510,13 +510,13 @@ static noinline int hiddev_ioctl_usage(struct hiddev *hiddev, unsigned int cmd, goto inval; field = report->field[uref->field_index]; + } - if (cmd == HIDIOCGCOLLECTIONINDEX) { - if (uref->usage_index >= field->maxusage) - goto inval; - } else if (uref->usage_index >= field->report_count) + if (cmd == HIDIOCGCOLLECTIONINDEX) { + if (uref->usage_index >= field->maxusage) goto inval; - } + } else if (uref->usage_index >= field->report_count) + goto inval; if ((cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) && (uref_multi->num_values > HID_MAX_MULTI_USAGES || diff --git a/drivers/media/platform/msm/ais/isp/msm_isp_axi_util.c b/drivers/media/platform/msm/ais/isp/msm_isp_axi_util.c index f135cfcd6ccd..cd32f62db2f4 100644 --- a/drivers/media/platform/msm/ais/isp/msm_isp_axi_util.c +++ b/drivers/media/platform/msm/ais/isp/msm_isp_axi_util.c @@ -3968,7 +3968,7 @@ void msm_isp_process_axi_irq_stream(struct vfe_device *vfe_dev, struct msm_isp_buffer *done_buf = NULL; unsigned long flags; struct timeval *time_stamp; - struct timeval *time_stamp_system; + struct timeval *time_stamp_system = NULL; uint32_t frame_id, buf_index = -1; struct msm_vfe_axi_stream *temp_stream; @@ -4124,9 +4124,10 @@ void msm_isp_process_axi_irq_stream(struct vfe_device *vfe_dev, stream_info, done_buf, time_stamp, frame_id); return; } - - msm_isp_process_done_buf(vfe_dev, stream_info, - done_buf, time_stamp, time_stamp_system, frame_id); + if (time_stamp_system != NULL) { + msm_isp_process_done_buf(vfe_dev, stream_info, + done_buf, time_stamp, time_stamp_system, frame_id); + } } void msm_isp_process_axi_irq(struct vfe_device *vfe_dev, diff --git a/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c b/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c index cc01b1f6421b..348023040ec0 100644 --- a/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c +++ b/drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c @@ -73,35 +73,41 @@ static int msm_sensor_suspend(struct device *dev) return -EFAULT; } - /* Turning on cci clock to retain previous state */ - if (!msm_camera_cci_power_up(s_ctrl->sensor_device_type, - s_ctrl->sensor_i2c_client)) { - s_ctrl->sensor_state = MSM_SENSOR_CCI_UP; - } - if (s_ctrl->is_csid_tg_mode) return 0; - kfree(s_ctrl->stop_setting.reg_setting); - s_ctrl->stop_setting.reg_setting = NULL; - if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { - pr_debug("just returning success since sensor is already off %d\n", - s_ctrl->sensor_state); - return 0; - } - if (s_ctrl->func_tbl->sensor_power_down) { - if (s_ctrl->sensordata->misc_regulator) - msm_sensor_misc_regulator(s_ctrl, 0); + if (s_ctrl->sensor_state == MSM_SENSOR_CCI_DOWN) { - rc = s_ctrl->func_tbl->sensor_power_down(s_ctrl); - if (rc < 0) { - pr_err("%s:%d failed rc %d\n", __func__, - __LINE__, rc); + /* Turning on cci clock to retain previous state */ + if (!msm_camera_cci_power_up(s_ctrl->sensor_device_type, + s_ctrl->sensor_i2c_client)) { + s_ctrl->sensor_state = MSM_SENSOR_CCI_UP; + } + + kfree(s_ctrl->stop_setting.reg_setting); + s_ctrl->stop_setting.reg_setting = NULL; + if (s_ctrl->func_tbl->sensor_power_down) { + if (s_ctrl->sensordata->misc_regulator) + msm_sensor_misc_regulator(s_ctrl, 0); + + rc = s_ctrl->func_tbl->sensor_power_down(s_ctrl); + if (rc < 0) { + pr_err("%s:%d failed rc %d\n", __func__, + __LINE__, rc); + rc = -EFAULT; + return rc; + } + s_ctrl->sensor_state = MSM_SENSOR_POWER_DOWN; + } else { rc = -EFAULT; - return rc; } - s_ctrl->sensor_state = MSM_SENSOR_POWER_DOWN; + } else if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { + pr_debug("just returning success since sensor is already off %d\n", + s_ctrl->sensor_state); + return 0; } else { + pr_err("%s:%d invalid state\n", __func__, + __LINE__); rc = -EFAULT; } @@ -123,33 +129,41 @@ static int msm_sensor_resume(struct device *dev) if (s_ctrl->is_csid_tg_mode) return 0; - if (s_ctrl->sensor_state == MSM_SENSOR_POWER_UP) { - pr_debug("just returning success since sensor is alreay on %d\n", - s_ctrl->sensor_state); - return 0; - } - if (s_ctrl->func_tbl->sensor_power_up) { - if (s_ctrl->sensordata->misc_regulator) - msm_sensor_misc_regulator(s_ctrl, 1); + if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { - rc = s_ctrl->func_tbl->sensor_power_up(s_ctrl); - if (rc < 0) { - pr_err("%s:%d failed rc %d\n", __func__, - __LINE__, rc); + if (s_ctrl->func_tbl->sensor_power_up) { + if (s_ctrl->sensordata->misc_regulator) + msm_sensor_misc_regulator(s_ctrl, 1); + + rc = s_ctrl->func_tbl->sensor_power_up(s_ctrl); + if (rc < 0) { + pr_err("%s:%d failed rc %d\n", __func__, + __LINE__, rc); + rc = -EFAULT; + return rc; + } + s_ctrl->sensor_state = MSM_SENSOR_POWER_UP; + CDBG("%s:%d sensor state %d\n", __func__, __LINE__, + s_ctrl->sensor_state); + } else { rc = -EFAULT; } - s_ctrl->sensor_state = MSM_SENSOR_POWER_UP; - CDBG("%s:%d sensor state %d\n", __func__, __LINE__, + + /* Turning off cci clock to retain previous state */ + if (!msm_camera_cci_power_down(s_ctrl->sensor_device_type, + s_ctrl->sensor_i2c_client)) { + s_ctrl->sensor_state = MSM_SENSOR_CCI_DOWN; + } + } else if (s_ctrl->sensor_state == MSM_SENSOR_CCI_DOWN) { + pr_debug("just returning success since sensor is already on %d\n", s_ctrl->sensor_state); + rc = 0; } else { + pr_err("%s:%d invalid state\n", __func__, + __LINE__); rc = -EFAULT; } - /* Turning off cci clock to retain previous state */ - if (!msm_camera_cci_power_down(s_ctrl->sensor_device_type, - s_ctrl->sensor_i2c_client)) { - s_ctrl->sensor_state = MSM_SENSOR_CCI_DOWN; - } return rc; } diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c index 8b5988e210d5..be90b5c561d6 100644 --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c @@ -2181,21 +2181,20 @@ static int atl1c_tx_map(struct atl1c_adapter *adapter, use_tpd->buffer_addr = cpu_to_le64(buffer_info->dma); use_tpd->buffer_len = cpu_to_le16(buffer_info->length); } - - /* The last tpd */ - use_tpd->word1 |= 1 << TPD_EOP_SHIFT; - /* The last buffer info contain the skb address, - so it will be free after unmap */ - buffer_info->skb = skb; - - return 0; - + if (use_tpd && buffer_info) { + /*The last tpd*/ + use_tpd->word1 |= 1 << TPD_EOP_SHIFT; + /*The last buffer info contain the skb address, + *so it will be free after unmap + */ + buffer_info->skb = skb; + return 0; + } err_dma: buffer_info->dma = 0; buffer_info->length = 0; return -1; } - static void atl1c_tx_queue(struct atl1c_adapter *adapter, struct sk_buff *skb, struct atl1c_tpd_desc *tpd, enum atl1c_trans_queue type) { diff --git a/sound/soc/msm/qdsp6v2/q6lsm.c b/sound/soc/msm/qdsp6v2/q6lsm.c index 1161bb31c434..a0fa233bb71e 100644 --- a/sound/soc/msm/qdsp6v2/q6lsm.c +++ b/sound/soc/msm/qdsp6v2/q6lsm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2017, Linux Foundation. All rights reserved. + * Copyright (c) 2013-2018, Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -741,6 +741,7 @@ void q6lsm_sm_set_param_data(struct lsm_client *client, param_hdr.instance_id = INSTANCE_ID_0; param_hdr.param_id = p_info->param_id; param_hdr.param_size = client->sound_model.size; + *offset = sizeof(struct param_hdr_v3); ret = q6lsm_pack_params((u8 *) client->sound_model.data, ¶m_hdr, NULL, offset, LSM_SESSION_CMD_SET_PARAMS_V2); |
