#define WORD USHORT
#define DWORD ULONG
+#ifndef LOWORD
#define LOWORD(l) ( (WORD) ( ( l ) & 0xffff ) )
+#endif
+#ifndef HIWORD
#define HIWORD(l) ( (WORD) ( ( l ) >> 16 ) )
+#endif
#define PCI_MAX_FUNCTIONS 8
#define USE_IRQL \
KIRQL _pending_endp_lock_old_irql, _pending_endp_list_lock_old_irql, _dev_lock_old_irql, old_irql;
+#define USE_NON_PENDING_IRQL \
+KIRQL _dev_lock_old_irql, old_irql;
+
+#define USE_BASIC_NON_PENDING_IRQL \
+KIRQL _dev_lock_old_irql;
+
+
#define USB_DEV_STATE_MASK ( 0xff << 8 )
#define USB_DEV_STATE_POWERED ( 0x01 << 8 )
#define USB_DEV_STATE_RESET ( 0x02 << 8 )
PUSB_DEV pdev;
BOOL valid_dev;
- USE_IRQL;
+ USE_NON_PENDING_IRQL;
*ppdev = NULL;
PUSB_DEV dev
)
{
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( dev == NULL )
return STATUS_INVALID_PARAMETER;
PUSB_DEV pdev;
LONG if_idx, endp_idx;
PUSB_ENDPOINT pendp;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( dev_mgr == NULL )
return STATUS_INVALID_PARAMETER;
NTSTATUS status;
DEV_HANDLE dev_handle;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( pdev == NULL || pendp == NULL )
return STATUS_INVALID_PARAMETER;
PUSB_DEV pdev;
PUSB_ENDPOINT pendp;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( purb == NULL || context == NULL )
return;
NTSTATUS status;
PHCD hcd;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( purb == NULL )
return STATUS_INVALID_PARAMETER;
)
{
NTSTATUS status;
- PUSB_DEV pdev, parent_dev;
+ PUSB_DEV pdev;
LONG if_idx, endp_idx;
- DEV_HANDLE endp_handle, parent_dev_handle;
+ DEV_HANDLE endp_handle;
PUSB_CTRL_SETUP_PACKET psetup;
PUSB_ENDPOINT pendp;
PHCD hcd;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( purb == NULL || dev_mgr == NULL)
return STATUS_INVALID_PARAMETER;
&& psetup->bRequest == USB_REQ_CLEAR_FEATURE
&& psetup->wValue == 0 ) //reset pipe
{
- ULONG endp_addr, endp_handle_to_reset;
+ ULONG endp_addr;
BOOL found;
endp_addr = psetup->wIndex;
if( ( endp_addr & 0xf ) == 0 )
ULONG config_val;
NTSTATUS status;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( purb == NULL )
{
PBYTE buf;
PUSB_CONFIGURATION_DESC pcfg_desc1;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( pdev == NULL || purb == NULL )
return STATUS_INVALID_PARAMETER;
usb_cal_cpu_freq()
{
LARGE_INTEGER tick1, tick2;
- LARGE_INTEGER interval;
LONG i;
// interval.QuadPart = -40 * 1000 * 1000;
NTSTATUS status;
PHCD hcd;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
purb1 = purb;
pdev = purb->pdev;
ULONG i;
PLIST_ENTRY pthis, pnext;
- USE_IRQL;
+ USE_BASIC_NON_PENDING_IRQL;
if( purb == NULL )
return;