Here is the first post-merge-window pull request for wireless in the2.6.29 cycle. There are more patches than I would like -- as you notedelsewhere, I failed to get things together before the merge windowclosed. Fortunately, there isn't anything in my pile of non-fixes thatI really wanted in 2.6.29 anyway. So I think this batch will havewireless caught-up for 2.6.29-rc2.

Most of these are small fixes and obvious enough. I did lay a number ofone-line warning fixes on top. Everything else has been cooked inwireless-testing, so there shouldn't be any surprise turds here -- let'shope! :-)

There are a few fixes here related to returning NETDEV_TX_OK instead ofsomething else. This was the source of a subtle bug in rtl8187. I'veincluded this kind of fix for other drivers in hopes of avoidingsimilarly subtle bugs with them.

Johannes Berg (1): rtl8187: Fix module so that rmmod/insmod does not error

John W. Linville (5): mac80211: fix "‘ret’ may be used uninitialized" warning b43: fix "‘gmode’ may be used uninitialized" warning b43legacy: fix "‘up_dev’ may be used uninitialized" warning iwl3945: fix "‘power_idx’ may be used uninitialized" warning p54: fix "‘ret’ may be used uninitialized" warning

- /* No need to empty priv->rx_list: if the tasklet is scheduled- * when we call tasklet_kill it will run one final time,- * emptying the list */+ /* If the tasklet is scheduled when we call tasklet_kill it+ * will run one final time. However the tasklet will only+ * drain priv->rx_list if the hw is still available. */ tasklet_kill(&priv->rx_tasklet);

/* * The driver does not support the IV/EIV generation- * in hardware. However it doesn't support the IV/EIV- * inside the ieee80211 frame either, but requires it- * to be provided seperately for the descriptor.- * rt2x00lib will cut the IV/EIV data out of all frames- * given to us by mac80211, but we must tell mac80211+ * in hardware. However it demands the data to be provided+ * both seperately as well as inside the frame.+ * We already provided the CONFIG_CRYPTO_COPY_IV to rt2x00lib+ * to ensure rt2x00lib will not strip the data from the+ * frame after the copy, now we must tell mac80211 * to generate the IV/EIV data. */ key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;@@ -1181,7 +1181,7 @@ static void rt2500usb_write_tx_desc(struct rt2x00_dev *rt2x00dev, test_bit(ENTRY_TXD_FIRST_FRAGMENT, &txdesc->flags)); rt2x00_set_field32(&word, TXD_W0_IFS, txdesc->ifs); rt2x00_set_field32(&word, TXD_W0_DATABYTE_COUNT, skb->len);- rt2x00_set_field32(&word, TXD_W0_CIPHER, txdesc->cipher);+ rt2x00_set_field32(&word, TXD_W0_CIPHER, !!txdesc->cipher); rt2x00_set_field32(&word, TXD_W0_KEY_ID, txdesc->key_idx); rt2x00_desc_write(txd, 0, word); }@@ -1334,14 +1334,7 @@ static void rt2500usb_fill_rxdone(struct queue_entry *entry,

/* calculate maximum number of retransmissions before-- John W. Linville Someday the world will need a hero, and youlinville@tuxdriver.com might be all we have. Be ready.--To unsubscribe from this list: send the line "unsubscribe linux-kernel" inthe body of a message to majordomo@vger.kernel.orgMore majordomo info at http://vger.kernel.org/majordomo-info.htmlPlease read the FAQ at http://www.tux.org/lkml/