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");

Reply via email to