summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-la.dts30
-rw-r--r--arch/arm64/configs/msmcortex-perf_defconfig1
-rw-r--r--arch/arm64/configs/msmcortex_defconfig1
-rw-r--r--drivers/hid/usbhid/hiddev.c10
-rw-r--r--drivers/media/platform/msm/ais/isp/msm_isp_axi_util.c9
-rw-r--r--drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c96
-rw-r--r--drivers/net/ethernet/atheros/atl1c/atl1c_main.c19
-rw-r--r--sound/soc/msm/qdsp6v2/q6lsm.c3
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, &param_hdr,
NULL, offset, LSM_SESSION_CMD_SET_PARAMS_V2);