tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: run(4)



NONAKA Kimihiro wrote:
>2015-09-13 6:47 GMT+09:00 Robert Swindells <rjs%fdy2.co.uk@localhost>:
>
>> I have put some diffs to run(4) on ftp.n.o that add support for some
>> newer Ralink chipsets, they were derived from OpenBSD.
>
>I teste your patch with some modified by me.
>It works fine to me.
>
>Tested devices
>- Buffalo WLI-IC-AG300N
>  MAC/BBP RT2872 (rev 0x0202), RF RT2850 (MIMO 2T2R)
>- Logitec LAN-W450AN/U2
>  MAC/BBP RT3593 (rev 0x0402), RF RT3053 (MIMO 3T3R)
>- Logitec LAN-W300AU/U2
>  MAC/BBP RT3572 (rev 0x0223), RF RT3052 (MIMO 2T2R)

I tested with
Ralink RT5370 (labelled as B-LINK)
MAC/BBP RT5390 (rev 0x0502), RF RT5370 (MIMO 1T1R)

>Patch by me
>- fix m_copydata destination address.

In your patch is this:

@@ -2624,7 +2635,7 @@ run_tx(struct run_softc *sc, struct mbuf *m, struct ieee80211_node *ni)
 		bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_txtap_len, m);
 	}
 
-	m_copydata(m, 0, m->m_pkthdr.len, (void *)(txwi + txwisize));
+	m_copydata(m, 0, m->m_pkthdr.len, (void *)(txwi + 1));
 	m_freem(m);
 
 	xferlen += sizeof (*txd) + 4;

I don't think this is correct, I agree that my version is wrong too
but your change (reversion) does not take account of the possible
adjustment to txwisize earlier in the same function:

        txwisize = sizeof(struct rt2860_txwi);
        if (sc->mac_ver == 0x5592)
                txwisize += sizeof(uint32_t);

Maybe we need:

	m_copydata(m, 0, m->m_pkthdr.let, (uint8_t *)txwi + txwisize)


Robert Swindells



Home | Main Index | Thread Index | Old Index