Commit 9646ee44 authored by David S. Miller's avatar David S. Miller

Merge branch 'ipa-fixes'

Alex Elder says:

====================
net: ipa: three bug fixes

This series contains three somewhat unrelated minor bug fixes.
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents f3f19f93 8d017efb
...@@ -1367,9 +1367,10 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index) ...@@ -1367,9 +1367,10 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index)
struct gsi_event *event_done; struct gsi_event *event_done;
struct gsi_event *event; struct gsi_event *event;
struct gsi_trans *trans; struct gsi_trans *trans;
u32 trans_count = 0;
u32 byte_count = 0; u32 byte_count = 0;
u32 old_index;
u32 event_avail; u32 event_avail;
u32 old_index;
trans_info = &channel->trans_info; trans_info = &channel->trans_info;
...@@ -1390,6 +1391,7 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index) ...@@ -1390,6 +1391,7 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index)
do { do {
trans->len = __le16_to_cpu(event->len); trans->len = __le16_to_cpu(event->len);
byte_count += trans->len; byte_count += trans->len;
trans_count++;
/* Move on to the next event and transaction */ /* Move on to the next event and transaction */
if (--event_avail) if (--event_avail)
...@@ -1401,7 +1403,7 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index) ...@@ -1401,7 +1403,7 @@ static void gsi_evt_ring_rx_update(struct gsi_evt_ring *evt_ring, u32 index)
/* We record RX bytes when they are received */ /* We record RX bytes when they are received */
channel->byte_count += byte_count; channel->byte_count += byte_count;
channel->trans_count++; channel->trans_count += trans_count;
} }
/* Initialize a ring, including allocating DMA memory for its entries */ /* Initialize a ring, including allocating DMA memory for its entries */
......
...@@ -1150,13 +1150,12 @@ static void ipa_endpoint_skb_copy(struct ipa_endpoint *endpoint, ...@@ -1150,13 +1150,12 @@ static void ipa_endpoint_skb_copy(struct ipa_endpoint *endpoint,
return; return;
skb = __dev_alloc_skb(len, GFP_ATOMIC); skb = __dev_alloc_skb(len, GFP_ATOMIC);
if (!skb) if (skb) {
return; /* Copy the data into the socket buffer and receive it */
skb_put(skb, len);
/* Copy the data into the socket buffer and receive it */ memcpy(skb->data, data, len);
skb_put(skb, len); skb->truesize += extra;
memcpy(skb->data, data, len); }
skb->truesize += extra;
ipa_modem_skb_rx(endpoint->netdev, skb); ipa_modem_skb_rx(endpoint->netdev, skb);
} }
......
...@@ -125,7 +125,7 @@ static void ipa_qmi_indication(struct ipa_qmi *ipa_qmi) ...@@ -125,7 +125,7 @@ static void ipa_qmi_indication(struct ipa_qmi *ipa_qmi)
*/ */
static void ipa_qmi_ready(struct ipa_qmi *ipa_qmi) static void ipa_qmi_ready(struct ipa_qmi *ipa_qmi)
{ {
struct ipa *ipa = container_of(ipa_qmi, struct ipa, qmi); struct ipa *ipa;
int ret; int ret;
/* We aren't ready until the modem and microcontroller are */ /* We aren't ready until the modem and microcontroller are */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment