Michael Buesch wrote:
> On Friday 14 September 2007 21:05:40 Larry Finger wrote:
>> Are you using DMA or PIO? I did find some PIO endian problems,
> 
> Where exactly?

drivers/net/wireless/b43legacy/pio.c:612:29: warning: incorrect type in 
assignment (different base
types)
drivers/net/wireless/b43legacy/pio.c:612:29:    expected unsigned short 
[unsigned] [short]
[usertype] <noident>
drivers/net/wireless/b43legacy/pio.c:612:29:    got restricted unsigned short 
[usertype] <noident>

These patches clear up the warnings.

Index: wireless-dev/drivers/net/wireless/b43legacy/pio.c
===================================================================
--- wireless-dev.orig/drivers/net/wireless/b43legacy/pio.c
+++ wireless-dev/drivers/net/wireless/b43legacy/pio.c
@@ -66,7 +66,7 @@ static u16 tx_get_next_word(const u8 *tx
                source = packet;
                i -= txhdr_size;
        }
-       ret = le16_to_cpu(*((u16 *)(source + i)));
+       ret = le16_to_cpu(*((__le16 *)(source + i)));
        *pos += 2;

        return ret;
@@ -539,7 +539,7 @@ static void pio_rx_error(struct b43legac

 void b43legacy_pio_rx(struct b43legacy_pioqueue *queue)
 {
-       u16 preamble[21] = { 0 };
+       __le16 preamble[21] = { 0 };
        struct b43legacy_rxhdr_fw3 *rxhdr;
        u16 tmp;
        u16 len;
@@ -609,7 +609,7 @@ data_ready:
        skb_put(skb, len);
        for (i = 0; i < len - 1; i += 2) {
                tmp = b43legacy_pio_read(queue, B43legacy_PIO_RXDATA);
-               *((u16 *)(skb->data + i)) = cpu_to_le16(tmp);
+               *((__le16 *)(skb->data + i)) = cpu_to_le16(tmp);
        }
        if (len % 2) {
                tmp = b43legacy_pio_read(queue, B43legacy_PIO_RXDATA);
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to