Messages in this thread Patch in this message | | | Date | Sun, 6 Jun 2004 20:09:25 +0200 | From | Pavel Machek <> | Subject | firewire problems with suspend |
| |
Hi!
There are some bad problems with firewire & swsusp. This fixes some, but other remain. If ohci1394 is removed before suspend, then reinserted, then rmmod hangs.
This is certainly better better than what was there, what about applying?
Pavel
--- clean/drivers/ieee1394/ieee1394_core.c 2004-05-20 23:08:14.000000000 +0200 +++ linux/drivers/ieee1394/ieee1394_core.c 2004-06-01 23:33:48.000000000 +0200 @@ -32,6 +32,7 @@ #include <linux/bitops.h> #include <linux/kdev_t.h> #include <linux/skbuff.h> +#include <linux/suspend.h> #include <asm/byteorder.h> #include <asm/semaphore.h> @@ -1024,6 +1025,11 @@ if (khpsbpkt_kill) break; + if (current->flags & PF_FREEZE) { + refrigerator(0); + continue; + } + while ((skb = skb_dequeue(&hpsbpkt_queue)) != NULL) { packet = (struct hpsb_packet *)skb->data; --- clean/drivers/ieee1394/nodemgr.c 2004-05-20 23:08:14.000000000 +0200 +++ linux/drivers/ieee1394/nodemgr.c 2004-06-06 19:34:56.000000000 +0200 @@ -19,6 +19,7 @@ #include <linux/delay.h> #include <linux/pci.h> #include <linux/moduleparam.h> +#include <linux/suspend.h> #include <asm/atomic.h> #include "ieee1394_types.h" @@ -1474,11 +1475,20 @@ /* Sit and wait for a signal to probe the nodes on the bus. This * happens when we get a bus reset. */ - while (!down_interruptible(&hi->reset_sem) && - !down_interruptible(&nodemgr_serialize)) { + while (1) { unsigned int generation = 0; int i; + if (down_interruptible(&hi->reset_sem) || + down_interruptible(&nodemgr_serialize)) { + if (current->flags & PF_FREEZE) { + refrigerator(0); + continue; + } + printk("nodemgr: received unexpected signal?!\n" ); + break; + } + if (hi->kill_me) break; @@ -1532,6 +1542,7 @@ up(&nodemgr_serialize); } + printk("nodemgr: Exiting due to no down\n"); caught_signal: HPSB_VERBOSE("NodeMgr: Exiting thread"); -- 934a471f20d6580d5aad759bf0d97ddc - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |