[PATCH] orinoco: Read only needed data in __orinoco_ev_txexc().
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / orinoco.c
index 1ae301c622817f699a6f1a927c75cda7ddbab059..78afbc7f08be76d0cb7ca6ca8754c9fa41e5a869 100644 (file)
@@ -623,10 +623,10 @@ static void __orinoco_ev_txexc(struct net_device *dev, hermes_t *hw)
        if (fid == DUMMY_FID)
                return; /* Nothing's really happened */
 
-       /* Read the frame header */
+       /* Read part of the frame header - we need status and addr1 */
        err = hermes_bap_pread(hw, IRQ_BAP, &hdr,
-                              sizeof(struct hermes_tx_descriptor) +
-                              sizeof(struct ieee80211_hdr_4addr),
+                              offsetof(struct hermes_tx_descriptor_802_11,
+                                       addr2),
                               fid, 0);
 
        hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID);