while (!rt2x00queue_empty(rt2x00dev->rx)) {
                entry = rt2x00queue_get_entry(rt2x00dev->rx, Q_INDEX_DONE);
 
-               if (test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
-                   !test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
+               if (test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
                        break;
 
                /*
        rt2x00lib_dmadone(entry);
 
        /*
-        * Schedule the delayed work for reading the RX status
-        * from the device.
+        * Schedule the delayed work for processing RX data
         */
        queue_work(rt2x00dev->workqueue, &rt2x00dev->rxdone_work);
 }
        struct queue_entry_priv_usb *entry_priv = entry->priv_data;
        int status;
 
-       if (test_and_set_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags) ||
-           test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
+       if (test_and_set_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
                return false;
 
        rt2x00lib_dmastart(entry);