kolja wrote:here is the code handling callback :
i'm using kernel 2.6.2-rc2 and testing kernelmode Driver for ECI usb adsl modem
Looks like that modem driver's urb completion callback is making a call it's not allowed to make.
-------------------------------------------------------------------
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0))
static void eci_init_vendor_callback(struct urb *urb) {
#else
static void eci_init_vendor_callback(struct urb *urb, struct pt_regs *regs) {
#endif
struct eci_instance *instance;
int size;
instance = (struct eci_instance *) urb->context; spin_lock_bh(&instance->lock); /* If urb status is set warn about it, else do what we gotta do */ if(urb->status) ERR_OUT("Urb with status %d\n" , urb->status); else { /* Check For datarecived and wanted data length */ if( urb->actual_length != urb->transfer_buffer_length ) WRN_OUT( "expecting %d, got %d\n", urb->transfer_buffer_length, urb->actual_length) ; #ifdef DEBUG /* if ((urb->setup_packet[0] & 0x80)) { size = ((urb->setup_packets[instance->setup_packets_pos + 7]<<8) | setup_packets[instance->setup_packets_pos + 6]); }*/ #endif /* DEBUG */ if ( !((urb->setup_packet[0] & 0x40) == 0x40 && urb->setup_packet[1]== 0xdc &&((urb->setup_packet[3] * 256 + urb->setup_packet[2])== 0x00) && ((urb->setup_packet[5] * 25 + urb->setup_packet[4]) == 0x00))) { /* sould send next VENDOR URB */ _eci_send_init_urb(instance->vendor_urb); } } spin_unlock_bh(&instance->lock); } ------------------------------------------------------------------- the only call are related to spin lock and unlock what's wrong on it ? kolja
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel