FRDM-kl25z Serial Buffer Issue
It sounds like your interrupt is called at the start of a serial transaction.  Assuming that, you would be trying to read a buffer with only one piece of data in it.  Therefore it would exit out of your while loop early because the second time through there would be no valid data.

Also, an mbed platform should have a buffer size larger than one.

I assume that the interrupt above is called when data starts to come in.  So to solve the problem you need to wait for the end of transmission before collecting that data.  There may be an interrupt specifically for that.