Hi!

Here goes the fix for the reported oops.

-- 
Vojtech Pavlik
SuSE Labs
--- input.c.old Sun May 14 18:02:15 2000
+++ input.c     Mon May 15 10:09:34 2000
@@ -244,6 +244,7 @@
 {
        struct input_handle *handle = dev->handle;
        struct input_dev **devptr = &input_dev;
+       struct input_handle *dnext;
 
 /*
  * Kill any pending repeat timers.
@@ -256,9 +257,10 @@
  */
 
        while (handle) {
+               dnext = handle->dnext;
                input_unlink_handle(handle);
                handle->handler->disconnect(handle);
-               handle = handle->dnext;
+               handle = dnext;
        }
 
 /*
@@ -309,15 +311,17 @@
 {
        struct input_handler **handlerptr = &input_handler;
        struct input_handle *handle = handler->handle;
+       struct input_handle *hnext;
 
 /*
  * Tell the handler to disconnect from all devices it keeps open.
  */
 
        while (handle) {
+               hnext = handle->hnext;
                input_unlink_handle(handle);
                handler->disconnect(handle);
-               handle = handle->hnext;
+               handle = hnext;
        }
 
 /*

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to