summaryrefslogtreecommitdiff
path: root/drivers/emac-dwc-eqos
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2019-11-08 02:41:07 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2019-11-08 02:41:07 -0800
commit1ac73c7449b812e80b95a381ed71ab714a1d4b33 (patch)
treee2bb0a692aa24e6763271ac62531dd69cffe0087 /drivers/emac-dwc-eqos
parente0b46f605c3c2014cd5764ded7d27c78cfc86705 (diff)
parent71df524a4630e9c57c7417ab58b887c5407de4be (diff)
downloaddata-kernel-1ac73c7449b812e80b95a381ed71ab714a1d4b33.tar.gz
Merge "data-kernel : EMAC: Fixing KW errors"
Diffstat (limited to 'drivers/emac-dwc-eqos')
-rw-r--r--drivers/emac-dwc-eqos/DWC_ETH_QOS_desc.c4
-rw-r--r--drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_desc.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_desc.c
index ac56b19..ab9b06f 100644
--- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_desc.c
+++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_desc.c
@@ -1440,7 +1440,7 @@ static int DWC_ETH_QOS_map_page_buffs(struct DWC_ETH_QOS_prv_data *pdata,
DBGPR("-->DWC_ETH_QOS_map_page_buffs\n");
if (size > DWC_ETH_QOS_MAX_DATA_PER_TX_BUF) {
- if (!prev_buffer->dma2) {
+ if (prev_buffer && !prev_buffer->dma2) {
DBGPR("prev_buffer->dma2 is empty\n");
/* fill the first buffer pointer in pre_buffer->dma2 */
prev_buffer->dma2 =
@@ -1505,7 +1505,7 @@ static int DWC_ETH_QOS_map_page_buffs(struct DWC_ETH_QOS_prv_data *pdata,
buffer->buf2_mapped_as_page = Y_TRUE;
}
} else {
- if (!prev_buffer->dma2) {
+ if (prev_buffer && !prev_buffer->dma2) {
DBGPR("prev_buffer->dma2 is empty\n");
/* fill the first buffer pointer in pre_buffer->dma2 */
prev_buffer->dma2 = dma_map_page(GET_MEM_PDEV_DEV,
diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c
index 5962c15..1e2c998 100644
--- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c
+++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_poll_support.c
@@ -36,7 +36,7 @@ static ssize_t pps_fops_read(struct file *filp, char __user *buf,
unsigned int len = 0, buf_len = 5000;
char* temp_buf;
- ssize_t ret_cnt;
+ ssize_t ret_cnt = 0;
struct pps_info *info;
info = filp->private_data;
@@ -54,7 +54,8 @@ static ssize_t pps_fops_read(struct file *filp, char __user *buf,
ret_cnt = simple_read_from_buffer(buf, count, f_pos, temp_buf, len);
kfree(temp_buf);
- EMACERR("poll pps2intr info=%d sent by kernel\n", gDWC_ETH_QOS_prv_data->avb_class_a_intr_cnt);
+ if (gDWC_ETH_QOS_prv_data)
+ EMACERR("poll pps2intr info=%d sent by kernel\n", gDWC_ETH_QOS_prv_data->avb_class_a_intr_cnt);
} else if (info->channel_no == AVB_CLASS_B_CHANNEL_NUM ) {
temp_buf = kzalloc(buf_len, GFP_KERNEL);
if (!temp_buf)