snd-fireworks: fix failure to set the number of channels for PCM in opposite stream
snd-firewire-lib: add restriction of MIDI data rate

The data rate between IEEE 1394 bus and MPU401 UART is largely different. So
device has its own buffer between them. But this buffer is sometimes overflowed
by large gap between them.

According to MMA/AMEI RP-027, if the device don't support an "negotiation
procedure", it can support MIDI 1.0-SPEED and the maximum rate is 1 byte per
320 micro seconds. This equalls 3125 bytes per second.

I apply this restriction to prevent the devices from buffer overflow.