]> Pileus Git - ~andy/linux/blobdiff - net/rxrpc/ar-output.c
mac80211: fix TX status cookie in HW offload case
[~andy/linux] / net / rxrpc / ar-output.c
index 591c4422205e4bb9e76d3b7c71ca1d1c13fc8795..5f22e263eda748ffdbe06f802626588a70776004 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/net.h>
+#include <linux/gfp.h>
 #include <linux/skbuff.h>
 #include <linux/circ_buf.h>
 #include <net/sock.h>
@@ -640,6 +641,7 @@ static int rxrpc_send_data(struct kiocb *iocb,
                        goto efault;
                sp->remain -= copy;
                skb->mark += copy;
+               copied += copy;
 
                len -= copy;
                segment -= copy;
@@ -709,6 +711,8 @@ static int rxrpc_send_data(struct kiocb *iocb,
 
        } while (segment > 0);
 
+success:
+       ret = copied;
 out:
        call->tx_pending = skb;
        _leave(" = %d", ret);
@@ -725,7 +729,7 @@ call_aborted:
 
 maybe_error:
        if (copied)
-               ret = copied;
+               goto success;
        goto out;
 
 efault: