Das ; war schon in Ordnung.
Da fehlt noch eine Endlos while Schleife. Sonst wird dein Programm nur einmal durchlaufen.
Code:
  while(1)
  {
        while (!(UCSRA & (1<<RXC)))  // warten bis Zeichen verfuegbar
      ;
       {
         PORTC = UDR;
       } 
  }