Search Linux Wireless

Re: Still 4965 issues with wireless-testing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 31, 2008 at 11:36 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> Hi Tomas,
>
>>>>>> so besides the point that the Ubuntu 8.10 kernel has a broken driver
>>>>>> for
>>>>>> the Intel 4965 cards which will crash my X61 after less than one
>>>>>> minute
>>>>>> uptime when it connects to my access point, I have my dmesg full with
>>>>>> warnings from the latest wireless-testing kernel.
>>>>>>
>>>>>> I know that we have discussed this before and Johannes' patch at least
>>>>>> turns it into warnings instead of killing my system completely, but I
>>>>>> am
>>>>>> still surprised why this hasn't been fixed.
>>>>>
>>>>> so this becomes more and more annoying. I get this WARN_ON now multiple
>>>>> times pre minute. Only the first few minutes after loading the firmware
>>>>> everything is okay and then it keeps filling my dmesg. And on top of
>>>>> that, I
>>>>> now see these:
>>>>>
>>>>> __ratelimit: 1189 callbacks suppressed
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> __ratelimit: 57695 callbacks suppressed
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> __ratelimit: 3345 callbacks suppressed
>>>>> iwlagn: Can not allocate SKB buffers
>>>>> iwlagn: Can not allocate SKB buffers
>>>>>
>>>>> What is going on here? This is a normal setup and nothing fancy. Access
>>>>> point is N-Capable from D-Link btw.
>>>>
>>>>
>>>> I have D-Link too I don't see this. What kernel version is this? Is
>>>> this your ubuntu version or wireless-testing?
>>>> Any more data you can provide (.config. slabinfo)
>>>
>>> this is from wireless-testing. The Ubuntu 2.6.27 kernel is totally
>>> broken.
>>> It will crash the kernel since we are missing the patch to turn this into
>>> a
>>> warning :)
>>>
>>> Attached is my config. The slabinfo will follow once the SKB errors come
>>> up
>>> again. It normally takes a few hours before they show. Just resumed that
>>> machine.
>>
>> I've downloaded whole moblin last night over 2.6.27.4, it's a bit slow
>> because the missing calibrations but it didn't crashed.
>>
>> I will test your config, your machine is T61  am I right?
>
> I have a X61 and running the 64-bit version of kernel and userspace.

I found in sky2 driver comment

* The buffer returned from netdev_alloc_skb is
* aligned except if slab debugging is enabled

Since you have slub debug enabled, can you run this debug patch on
your system (might be withe space broken, I've  just pasted in)

diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c
b/drivers/net/wireless/iwlwifi/iwl-rx.c
index b86f958..1bfcc52 100644
--- a/drivers/net/wireless/iwlwifi/iwl-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-rx.c
@@ -166,12 +166,17 @@ int iwl_rx_queue_update_write_ptr(struct
iwl_priv *priv, struct iwl_rx_queue *q)
        return ret;
 }
 EXPORT_SYMBOL(iwl_rx_queue_update_write_ptr);
+
+#define IWL_RX_DMA_MASK    (DMA_BIT_MASK(36) & ~0xFF)
 /**
  * iwl_dma_addr2rbd_ptr - convert a DMA address to a uCode read buffer ptr
  */
 static inline __le32 iwl_dma_addr2rbd_ptr(struct iwl_priv *priv,
                                          dma_addr_t dma_addr)
 {
+       if (WARN_ON(dma_addr & ~IWL_RX_DMA_MASK))
+               printk(KERN_ERR "wrong dma addr = %llu\n",
+                       (unsigned long long)dma_addr);
        return cpu_to_le32((u32)(dma_addr >> 8));
 }

Thanks
Tomas
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux