serial: at91: fix race condition in atmel_serial_remove

The _remove callback could be called when a tasklet is scheduled. tasklet_kill was called inside the function in order to free up any scheduled tasklets. However it was called after uart_remove_one_port which destroys  tty references needed in the port for atmel_tasklet_func. Simply putting the tasklet_kill at the start of the function will prevent this  conflict.

Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
serial: at91: prevent null dereference in tasklet function

Something schedules a tasklet to be scheduled when the uart port is closed. Need to supress the kernel panic for now by checking if the port is NULL or not.

Signed-off-by: Marek Roszko <mark.roszko@gmail.com>