I also upgraded the firmware (using WinXP in VirtualBox) and it seems to have solved the problem (Huawei E220). Now both mass storage and modem seems to work.
I think it was clear that all those issues with Huawei modems were caused by buggy firmwares. But a workaround in the kernel is probably not a bad idea because most users will not see this bug report or will not be able to upgrade the firmware.
I also upgraded the firmware (using WinXP in VirtualBox) and it seems to have solved the problem (Huawei E220). Now both mass storage and modem seems to work.
I think it was clear that all those issues with Huawei modems were caused by buggy firmwares. But a workaround in the kernel is probably not a bad idea because most users will not see this bug report or will not be able to upgrade the firmware.