- 29 1月, 2008 40 次提交
-
-
由 Al Viro 提交于
bugs galore: * 0xf380 instead of htons(ETH_P_AARP), etc. Works only on l-e. * back in 2.3.20 driver got readb() and friends instead of direct dereferencing of iomem. Somebody got too enthusiatic and replaced ntohs(p->mrx_overflow) with ntohs(read(&p->mrx_overflow) without noticing that (a) the sucker is 16bit and (b) that expression can't possibly be portable anyway (hell, on l-e it's always less than 256, on b-e it's always a multiple of 256). Proper fix is swab16(readw(&p->mrx_overflow) taking into account the conversion done by readw() itself. That crap happened in several places; the same fix applies. * untranslate() assumes little-endian almost everywhere, except for the code checking for IPX/AARP packets; there we forgot ntohs(), so that part only works on big-endian. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
* ->exp_id in bootrec_exp_if is __le16; missing conversion in its use * !(x & y) misspelled as !x & y Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
it's le32, not le16... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
in writerids() we do _not_ byteswap, so we want to access ->opmode as little-endian. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
never had been byteswapped, used as host-endian... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
On big-endian we end up with swapped first two bytes in packet, due to earlier conversion to host-endian and forgotten conversion back. The code we calculated that host-endian for had been duplicated several time - it finds the 802.11 MAC header length by the first two bytes of packet; taken into a new helper (header_len(__le16 ctl)). Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
airo_translate_scan() reads BSSListRid directly, does _not_ byteswap and uses ->dBm (__le16) as host-endian. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
a) gaplen would better be stored little-endian b) for control packets (shorter than 24-byte header) we ended up with bap_write(ai, hdrlen == 30 ? (const u16*)&gap.gaplen : (const u16*)&gap, 38 - hdrlen, BAP1); passing to card the data past the end of gap (i.e. random stuff from stack) and did _not_ feed the gaplen at the right offset. c) sending the contents of uninitialized fields of struct is Not Nice(tm) either Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Al Viro 提交于
Make it match the on-the-wire endianness, eliminate byteswapping. The only driver that used this sucker (ipw2200) updated. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 John W. Linville 提交于
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Zhu Yi 提交于
This patch skips mac80211 configuration setting during a hardware scan and replays it afterwards for the iwlwifi drivers. Cc: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: NZhu Yi <yi.zhu@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Zhu Yi 提交于
This patch changes the iwlwifi driver to properly support monitor interfaces after the filter flags change. The patch is originally created by Johannes Berg for iwl4965. I fixed some of the comments and created a similar patch for iwl3945. Signed-off-by: NJohannes Berg <johannes@sipsolutions.net> Signed-off-by: NZhu Yi <yi.zhu@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
sizeof(*cmd) is going to give the total size of the data structure that we allocated, more often than not. But the size of the command to be _sent_ could be a lot smaller, as it is in the KEY_MATERIAL and SUBSCRIBE_EVENT commands for example. So swap them round; let the caller set the _command_ size explicitly in the header, and infer the maximum response size from the data structure. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
We don't necessarily want to reset the device on a TX timeout. But more often than not, the real cause is that the firmware has crapped itself, not just that the network is busy. So submit any harmless command, and if _that_ times out, then the error handling code will reset the module, as appropriate. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Even if it fails, we want to wait a while and try again, with an ultimate timeout if it the condition persists. So again, just use the standard command timeout behaviour. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
When the firmware returns 0x0004, it wants us to try again later. We can achieve that simply by throwing out the response and letting the command timeout code kick in. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
If we don't scribble over the command we sent, then we can retry it when the firmware responds with 0x0004 (which means -EAGAIN). Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
We have a local variable 'resp' which we use for this. So use it, instead of typing the whole thing. In preparation for actually using priv->upld_buf for the responses instead... Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Move the various firmware setup bits into a separate function, which used to do just boot2 version. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Otherwise, we go into an endless busy loop trying to enable PS mode when the command queue is empty, dealing with the error response, and then trying to enable PS mode again because the command queue is empty.... it doesn't really save much power. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
lbs_send_confirmwake() is a bit ugly but matches the way we confirm sleep. We'll deal with that whole thing later. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
DNLD_RES_RECEIVED is a bit of a misnomer -- we never wait for the result to be received; it's purely representing the state of the TX path, and in this case the TX path is definitely busy. Of course, that means that we don't actually care about DATA_SENT vs. CMD_SENT either, but that's a can of worms for another day... Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Commit 5b8845345e7385d2eb37fac22ba9ab6905988be5 (or, in case the git workflow is broken and patches get recommitted, the commit entitled 'libertas: rename and re-type bufvirtualaddr to cmdbuf' by dcbw), introduced a number of bugs where we once had a pointer to a command _payload_, but now we use the pointer to the command header instead. The fix isn't wonderfully pretty for now, but it'll get better when we finish converting all commands so the structures include the header. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
If we return the channel number in a 'ret' variable where anything non-zero is later interpreted as an error, that isn't nice. It breaks WPA, for a start. OLPC trac #5485 Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
And handle the case where it times out more than once, too, instead of locking up for ever. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
... at least for users of __lbs_cmd(). Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
We can use the callback_arg for it; that's the way we're heading anyway... Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-