hi, * and Karsten Thanks a lot. It is really because of the call of kfree which leads to the kernel oops. I am now tried to find out why "failed submitting write urb". Do you have any idea concerning to debug with it? Is there any source code about USB on kernel 2.6.11 that I can learn from?
TowerGee On 11/18/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Message: 1 > Date: Thu, 17 Nov 2005 19:06:50 +0100 > From: Karsten Ohme <[EMAIL PROTECTED]> > Subject: Re: [Muscle] question about writing DT3500 driver on kernel > 2.6.11 for muscle > To: MUSCLE <[email protected]> > Message-ID: <[EMAIL PROTECTED]> > Content-Type: text/plain; charset=ISO-8859-1 > > mail mail wrote: > > hi, * > > I am migrating DT3500 driver from kernel 2.4 to kernel 2.6. Now I did > > some work on it. When I try to run pcscd with "-f -d stdout" > > arguments. I find that "skel_write" function has some problem. > > What means problems? A kernel oops is a problem. And the output seems to > be one. > > Is the kfree(buf) necessary in the error case? The buf seems to be > allocated with usb_buffer_alloc(dev->udev, count, GFP_KERNEL, > &urb->transfer_dma); so it must be deallocated with > usb_buffer_free(dev->udev, count, buf, urb->transfer_dma); ? > And is the buf deallocated in the case of success? > > You should detect the error for the failed sending. This is one error. > Because it is only a skeleton driver it may need some further handling. > The real problem is the paging request in the error case, I would it > contribute to the kfree(), because the buf is already deallocated. > > Karsten > _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
