On Thu, 2008-11-13 at 17:16 +0800, Frank Seidel wrote: > The problem is that before this patch ipw2200 didn't have that problem > and now with it is constantly on various machines is running in > a kernel oops at ipw_tx_skb called by ipw_net_hard_start_xmit. > So imho that patch introduced the bug somehow and even partly > reverting it fixes the problem here on my testmachine. May I have your oops log? Please try if attached patch fix the problem. Thanks, -yi
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index 65a733d..0a14dea 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c @@ -10197,6 +10197,11 @@ static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, u16 remaining_bytes; int fc; + if (!(priv->status & STATUS_ASSOCIATED)) { + IPW_DEBUG("Tx attempt while not associated.\n"); + goto drop; + } + hdr_len = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl)); switch (priv->ieee->iw_mode) { case IW_MODE_ADHOC: