tag 399051 + patch
notfound 399051 1.1.0+cvs20060620-3
found 399051 1:1.1.0-b4-2
severity 399051 serious
thanks
Hi again !
I have found the issue: the value Length should have been set as a #define
since it seems to be changed in the loop which seemed to cause the issue..
Attached is the corrected patch which does the same but without the connection
issue.
The bug does not exists in current etch, so it is ok, but I'm setting it as
serious for sid obviously since it is confirmed..
Romain
--
You can fool some people sometimes,
But you can't fool all the people all the time.
--- Module/mlme.c 2006/11/28 08:00:02 1.34
+++ Module/mlme.c 2007/01/20 21:12:59 1.35
@@ -357,9 +357,15 @@
schedule_work(&pAd->mlme_work);
}
+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
+VOID MlmeWork(struct work_struct *work)
+{
+ PRTMP_ADAPTER pAd = container_of(work, struct _RTMP_ADAPTER ,mlme_work);
+# else /* 2.6.20 patch "older kernels" */
VOID MlmeWork(void *vpAd)
{
- PRTMP_ADAPTER pAd = vpAd;
+ PRTMP_ADAPTER pAd = vpAd;
+#endif /* 2.6.20 patch */
#endif
MLME_QUEUE_ELEM *Elem = NULL;
unsigned long flags;
--- Module/rtmp_init.c 2006/06/16 07:07:25 1.30
+++ Module/rtmp_init.c 2007/01/20 21:12:59 1.31
@@ -916,7 +916,11 @@
DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitAsicFromEEPROM\n");
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
+extern VOID MlmeWork(struct work_struct *work);
+#else
extern VOID MlmeWork(void *vpAd);
+#endif
void NICInitializeAdapter(IN PRTMP_ADAPTER pAdapter)
{
@@ -974,7 +980,9 @@
// Initialze ASIC for TX & Rx operation
NICInitializeAsic(pAdapter);
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
+ INIT_WORK(&pAdapter->mlme_work, MlmeWork);
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
INIT_WORK(&pAdapter->mlme_work, MlmeWork, (void*)pAdapter);
#endif
DBGPRINT(RT_DEBUG_TRACE, "<-- NICInitializeAdapter\n");