История изменений
Исправление metawishmaster, (текущая версия) :
+ на сколько я знаю, volatile говорит компилятору не оптимизировать переменную, например
{
volatile unsigned long *LPCI_4C = (unsigned long *) (dev->core.lin_base[0] + 0x4C);
*LPCI_4C |= 0x49;
/* while (*LPCI_4C & 0x24 == 0); */
if (wait_event_interruptible(dev->wq, *LPCI_4C & 0x24))
return -ERESTARTSYS;
*LPCI_4C &= ~0x40;
}
Исходная версия metawishmaster, :
+ на сколько я знаю, volatile говорит компилятору не оптимизировать переменную, например
{
volatile unsigned long *LPCI_4C = (unsigned long *) (dev->core.lin_base[0] + 0x4C);
*LPCI_4C |= 0x49;
/*
if (wait_event_interruptible(dev->wq, *LPCI_4C & 0x24))
return -ERESTARTSYS;
*/
while (*LPCI_4C & 0x24 == 0);
*LPCI_4C &= ~0x40;
}