is WARN_ON(irqs_disabled) in dma_free_coherent() spurious ??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi
I am trying to develop a linux kernel driver for a USB
device and I am initially following the example driver
usb-skeleton.c and also the driver usblcd.c

The sequence:

in the file operation ..write():
  usb_alloc_urb()
  usb_buffer_alloc(a big buffer)
  usb_fill_bulk_urb(for an OUT pipe)
  usb_submit_urb()
  usb_free_urb()
then in the completion ..callback():
  usb_buffer_free()
the routine dma_free_coherent() is called which calls
  WARN_ON(irqs_disabled) 

and because I am running the kernel with all the debugs
and warnings switched on I get a stack dump in the system
log.

Because I do not want to see warnings unless I am doing
something wrong I have to investigate the (possible)
problem. As far as I can tell the WARN_ON() is completely
spurious. Is that correct?? If so what is the solution
and who will change the drivers that use the same algorithm??

Many thanks,

Tony Olech

Elan Digital Systems Ltd

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux