Quoting Ravi Kumar B S <[EMAIL PROTECTED]>: > i am using the usb bluetooth driver. i have configured the usb bluetooth > driver as a module. i have two versions of the driver. one with the > comments, extensive debug statements(printks) etc. the other one is the > one which is cleaned does not have that many debug statements. > now the problem is when i insmod the uncleaned one and connect the > device, and do lsmod, the driver is listed as being used. (means, 1 in > "used by" column of the lsmod result). > but when i insmod the cleaned one, it is not listed as being used and > open call to the device fails. > > any idea what is going wrong?
Probably you made a mistake somewhere :-) In best case, you "cleaned out" too much, maybe overlook the scope of some operators (like 'if') and introduced a bug. Diff the sources with emacs or tkdiff, and review the changes. In worst case, presence of printk's moves the memory around, and you have a stray pointer somewhere that reads or writes past the allocated memory. With printks in place, this pointer happens to point to a safe place; without them all fails. It helps sometimes to *slowly* move changes from one file to another, one change at a time, and testing the driver. As soon as the change breaks/fixes the code you know where the problem is. But sometimes *any* change, *anywhere* affects the code (when you return something allocated on the stack, for example). Then you have to stare at the code until you find the bug. Dmitri -- Linux is addictive, I'm hooked! (MaDsen Wikholm's .sig)
msg04480/pgp00000.pgp
Description: PGP signature
