The existing cp210x driver does not fully support the CP2105 device, which is a dual interface device. Currently the existing cp210x driver supports only interface 0, which is hardcoded into the get and set control pipe functions, usb_control_msg(), hardcodes the wIndex parameter to 0. This value specifies which interface to talk to, so by setting it to 1, it will talk to interface 1, etc. This allows for only one of the ports to work on the CP2105 device, while the other one enumerates and shows up in /dev as a ttyUSBx device. The change for this will require the startup function to grab each interface and store the interface of the device in the port's private data. Then, it just retrieves and uses this value at the time of the transfer. A release function should be added as well to clean up the private space for each port when the driver is unloaded. If this change is implemented it will allow for support of all Silicon Lab's multi-interface devices since it will dynamically populate the interface number.
This is already done in the linux-next tree and will show up in the 3.4 kernel release.
Great - I had a patch I was ready to submit, I'll be looking for it.
Is the patch against linux-next? Please discuss this on the linux-usb@vger.kernel.org mailing list, not in bugzilla.