rt2x00: rt2800usb: move additional txdone into new function
authorStanislaw Gruszka <sgruszka@redhat.com>
Wed, 14 Mar 2012 10:16:17 +0000 (11:16 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 15 Mar 2012 17:40:30 +0000 (13:40 -0400)
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2800usb.c

index 2c11137..8e1855a 100644 (file)
@@ -528,15 +528,11 @@ static void rt2800usb_txdone(struct rt2x00_dev *rt2x00dev)
        }
 }
 
-static void rt2800usb_work_txdone(struct work_struct *work)
+static void rt2800usb_txdone_nostatus(struct rt2x00_dev *rt2x00dev)
 {
-       struct rt2x00_dev *rt2x00dev =
-           container_of(work, struct rt2x00_dev, txdone_work);
        struct data_queue *queue;
        struct queue_entry *entry;
 
-       rt2800usb_txdone(rt2x00dev);
-
        /*
         * Process any trailing TX status reports for IO failures,
         * we loop until we find the first non-IO error entry. This
@@ -560,6 +556,16 @@ static void rt2800usb_work_txdone(struct work_struct *work)
                                break;
                }
        }
+}
+
+static void rt2800usb_work_txdone(struct work_struct *work)
+{
+       struct rt2x00_dev *rt2x00dev =
+           container_of(work, struct rt2x00_dev, txdone_work);
+
+       rt2800usb_txdone(rt2x00dev);
+
+       rt2800usb_txdone_nostatus(rt2x00dev);
 
        /*
         * The hw may delay sending the packet after DMA complete