From 504092a4de0598ad9a74c4bae2a5c969dcab3046 Mon Sep 17 00:00:00 2001 From: Michael Pfeiffer Date: Sun, 6 Jul 2008 07:45:09 +0000 Subject: [PATCH] Patch by JiSheng Zhang to fix firewire gcc4 build instability. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26272 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/HaikuImage | 4 ++-- src/add-ons/kernel/bus_managers/firewire/firewire.c | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index eb09ded3a2..1b96cc6ed5 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -30,7 +30,7 @@ BEOS_BIN = "[" addattr alert arp base64 basename bc beep bootman bzip2 cal cat csplit ctags cut date dc dd desklink df diff diff3 dircolors dirname draggers driveinfo dstcheck du echo eject env error expand expr expr factor false fdinfo ffm find finddir fmt fold fortune frcode ftp ftpd - funzip #fwcontrol + funzip fwcontrol gawk $(X86_ONLY)gdb grep groups gzip gzexe hd head hey hostname id ident ideinfo idestatus ifconfig install installsound iroster isvolume join keymap kill less lessecho lesskey link listarea listattr listimage listdev @@ -171,7 +171,7 @@ AddDriversToHaikuImage : console dprintf $(X86_ONLY)keyboard null random tty zero ; AddDriversToHaikuImage audio hmulti : $(BEOS_ADD_ONS_DRIVERS_AUDIO) ; AddDriversToHaikuImage midi : $(BEOS_ADD_ONS_DRIVERS_MIDI) ; -AddDriversToHaikuImage bus : usb_raw ; # fw_raw +AddDriversToHaikuImage bus : usb_raw fw_raw ; AddDriversToHaikuImage disk floppy : $(X86_ONLY)pc_floppy ; AddDriversToHaikuImage disk scsi : scsi_cd scsi_disk ; AddDriversToHaikuImage disk usb : usb_disk ; diff --git a/src/add-ons/kernel/bus_managers/firewire/firewire.c b/src/add-ons/kernel/bus_managers/firewire/firewire.c index c645c716c4..31c80eadd4 100644 --- a/src/add-ons/kernel/bus_managers/firewire/firewire.c +++ b/src/add-ons/kernel/bus_managers/firewire/firewire.c @@ -344,14 +344,12 @@ firewire_watchdog(void *arg) */ if (watchdog_clock > WATCHDOG_HZ * 15) // taskqueue_enqueue(fc->taskqueue, &fc->task_timeout); - gDpc->queue_dpc(fc->taskqueue, firewire_xfer_timeout, fc); + firewire_xfer_timeout(fc); else watchdog_clock ++; // callout_reset(&fc->timeout_callout, hz / WATCHDOG_HZ, // (void *)firewire_watchdog, (void *)fc); - fc->timeout_callout = create_timer(firewire_watchdog, fc, - hz/WATCHDOG_HZ, B_ONE_SHOT_RELATIVE_TIMER); } #if 0//to do @@ -447,7 +445,7 @@ firewire_attach(struct firewire_comm *fc, struct firewire_softc *sc) // callout_reset(&sc->fc->timeout_callout, hz, // (void *)firewire_watchdog, (void *)sc->fc); fc->timeout_callout = create_timer(firewire_watchdog, fc, - hz/WATCHDOG_HZ, B_ONE_SHOT_RELATIVE_TIMER); + hz/WATCHDOG_HZ, B_PERIODIC_TIMER); /* create thread */ // kthread_create(fw_bus_probe_thread, (void *)fc, &fc->probe_thread,