Hi Lampros,
Sorry for the delay getting back to you. When I get the hang it does not panic the kernel… just hangs the process. I just tried something interesting which seems to give a very similar kind of hang. I did this with no device plugged into the adapter:
$ echo “hello” > /dev/tty.usbserial
I then try to start minicom in a separate shell and it hangs on init. Here is the sample I got from Activity Monitor of minicom in a hung state:
Sampling process 8550 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols…
Analysis of sampling minicom (pid 8550) every 1 millisecond
Process: minicom [8550]
Path: /opt/local/bin/minicom
Load Address: 0x100000000
Identifier: minicom
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: bash [8531]
Date/Time: 2011-07-18 17:22:35.846 -0700
OS Version: Mac OS X 10.6.8 (10K540)
Report Version: 7
Call graph:
2629 Thread_192217 DispatchQueue_1: com.apple.main-thread (serial)
2629 start
2629 main
2629 open_term
2629 open
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
open 2629
Binary Images:
0x100000000 - 0x100024fe7 +minicom (??? - ???) /opt/local/bin/minicom
0x100033000 - 0x10003cfef +libintl.8.dylib (10.1.0 - compatibility 10.0.0) /opt/local/lib/libintl.8.dylib
0x100042000 - 0x10013efef +libiconv.2.dylib (8.0.0 - compatibility 8.0.0) /opt/local/lib/libiconv.2.dylib
0x10014b000 - 0x100192fe7 +libncurses.5.dylib (5.0.0 - compatibility 5.0.0) /opt/local/lib/libncurses.5.dylib
0x7fff5fc00000 - 0x7fff5fc3bdef dyld (132.1 - ???) /usr/lib/dyld
0x7fff80fff000 - 0x7fff811bdfff libicucore.A.dylib (40.0.0 - compatibility 1.0.0) /usr/lib/libicucore.A.dylib
0x7fff83981000 - 0x7fff83985ff7 libmathCommon.A.dylib (315.0.0 - compatibility 1.0.0) /usr/lib/system/libmathCommon.A.dylib
0x7fff83986000 - 0x7fff83afdfe7 com.apple.CoreFoundation (6.6.5 - 550.43) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff84305000 - 0x7fff844c6fef libSystem.B.dylib (125.2.11 - compatibility 1.0.0) /usr/lib/libSystem.B.dylib
0x7fff85eb8000 - 0x7fff85f04fff libauto.dylib (??? - ???) /usr/lib/libauto.dylib
0x7fff86bcf000 - 0x7fff86c85ff7 libobjc.A.dylib (227.0.0 - compatibility 1.0.0) /usr/lib/libobjc.A.dylib
0x7fff87f83000 - 0x7fff87f94ff7 libz.1.dylib (1.2.3 - compatibility 1.0.0) /usr/lib/libz.1.dylib
0x7fff88705000 - 0x7fff88782fef libstdc++.6.dylib (7.9.0 - compatibility 7.0.0) /usr/lib/libstdc++.6.dylib
0x7fffffe00000 - 0x7fffffe01fff libSystem.B.dylib (??? - ???) /usr/lib/libSystem.B.dylib
Sample analysis of process 8550 written to file /dev/stdout
I then tried to unload the driver but looks like a reference was still being held:
$ sudo kextunload /System/Library/Extensions/ProlificUsbSerial.kext
Password:
(kernel) Can’t unload kext com.prolific.driver.PL2303; classes have instances:
(kernel) Kext com.prolific.driver.PL2303 class PL2303SerialDriverBase has 1 instance.
(kernel) Kext com.prolific.driver.PL2303 class com_prolific_driver_PL2303 has 1 instance.
Failed to unload com.prolific.driver.PL2303 - (libkern/kext) kext is in use or retained (cannot unload).
Interestingly enough, this caused the hung minicom process to terminate. But the driver is still loaded and in a hung state.
I also saw this in the system logs as well during my kext load/unload:
7/18/11 5:31:36 PM kernel USBF: 32237. 69 AppleUSBHubPort: Port 4 of Hub at 0xfa100000 about to terminate a busy device (USB-Serial Controller D) after waiting 10 seconds
7/18/11 5:31:51 PM kernel USB-Serial Controller D::terminate(kIOServiceSynchronous) timeout
Hopefully that gives you some more information to go on 
~ Will