On 29 March 2013 11:10, Oleksij Rempel <span dir="ltr"><<a href="mailto:linux@rempel-privat.de" target="_blank">linux@rempel-privat.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
The printf, or the call to ath_hal_getrtsaggrlimit() ?<br>
</div></blockquote>
<br>
ath_hal_getrtsaggrlimit(). It make no sense to call it and not check result.</blockquote><div><br></div><div>Oh, i see what's going on.</div><div><br></div><div>In short, we can kill it, as long as we never see AR5416 + AR7010 combo NICs.</div>
<div><br></div><div>In long, you have to trace the code. ath_hal_getrtsaggrlimit() is a HAL capability call, to fetch the RTS aggrgate limit value. If it actually succeeds, it returns HAL_OK and sets the value in  aggr_limit_with_rts which is passed in by pointer value. But that capability isn't actually processed anywhere. So it doesn't necessarily matter that we don't check the return value of the capability call, the point here is aggr_limit_with_rts is potentially changed by that call. So it _could_ in theory be used. :-)</div>
<div><br></div><div>So, for now, just set aggr_limit_with_rts to 0 in ath_buf_set_rate(), verify that aggregation still works, and we'll remove this whole check later. Setting it to 0 in the definition should quieten the compiler warning there.</div>
<div><br></div><div>The reason for the check? AR5416/AR5418 doesn't work with RTS + aggregates longer than 8KiB, so the driver has to either limit aggregate sizes to 8KiB or less, or disable RTS on longer aggregates. This was fixed in subsequent chips.</div>
<div><br></div><div><br></div><div><br></div><div>Adrian</div><div><br></div></div>