Changeset 530 for GPL/trunk/lib32/misc.c


Ignore:
Timestamp:
Jul 27, 2010, 6:32:21 PM (15 years ago)
Author:
David Azarewicz
Message:

pci bus scan changes, xrun recovery

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk/lib32/misc.c

    r522 r530  
    269269void flush_workqueue(struct workqueue_struct *wq)
    270270{
    271         short sDAZ;
    272271
    273272        if (wq->task == current) {
     
    280279                spin_lock_irq(&wq->lock);
    281280                add_wait_queue(&wq->work_done, &wait);
    282                 sDAZ = 0;
     281#ifndef TARGET_OS2
    283282                while (!list_empty(&wq->worklist)) {
    284                         if (sDAZ++ > 20) { // Temporary hack to prevent system hangs
    285                                 rprintf(("flush_workqueue: can't empty list"));
    286                                 break;
    287                         }                       
    288283                        spin_unlock_irq(&wq->lock);
    289284                        schedule();  // DAZ system hangs here because this function does nothing
    290285                        spin_lock_irq(&wq->lock);
    291286                }
     287#endif
    292288                set_current_state(TASK_RUNNING);
    293289                remove_wait_queue(&wq->work_done, &wait);
Note: See TracChangeset for help on using the changeset viewer.