[ros-dev] [ros-diffs] [cgutman] 37713: - Merge aicom-network-fixes up to r37712

Aleksey Bragin aleksey at reactos.org
Sat Nov 29 10:20:30 CET 2008


Another way of doing this (stylistically) would be:
switch (Type)
{
case NdisWorkItemRequest:
     if (Adapter->NdisMiniportBlock.PendingRequest ||  
MiniGetFirstWorkItem(Adapter, NdisWorkItemRequest))
         Busy = TRUE;
     break
case ...:
}


On Nov 29, 2008, at 4:51 AM, cgutman at svn.reactos.org wrote:

> Author: cgutman
> Date: Fri Nov 28 19:51:19 2008
> New Revision: 37713
>

> +BOOLEAN
> +MiniIsBusy(
> +    PLOGICAL_ADAPTER Adapter,
> +    NDIS_WORK_ITEM_TYPE Type)
> +{
> +    BOOLEAN Busy = FALSE;
> +    KIRQL OldIrql;
> +
> +    KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &OldIrql);
> +
> +    if (Type == NdisWorkItemRequest &&
> +        (Adapter->NdisMiniportBlock.PendingRequest ||  
> MiniGetFirstWorkItem(Adapter, NdisWorkItemRequest)))
> +    {
> +       Busy = TRUE;
> +    }
> +    else if (Type == NdisWorkItemSend &&
> +             (Adapter->NdisMiniportBlock.FirstPendingPacket ||  
> MiniGetFirstWorkItem(Adapter, NdisWorkItemSend)))
> +    {
> +       Busy = TRUE;
> +    }
> +    else if (Type == NdisWorkItemResetRequested &&
> +             (Adapter->NdisMiniportBlock.ResetStatus ==  
> NDIS_STATUS_PENDING || MiniGetFirstWorkItem(Adapter,  
> NdisWorkItemResetRequested)))
> +    {
> +       Busy = TRUE;
> +    }
> +
> +    KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
> +
> +    return Busy;
> +}



More information about the Ros-dev mailing list