Fixed a bug when both mmap and read fail

When both mmap and read fail to allocate memory (in my case I was getting "VIDIOC_STREAMON: No space left on device" during mmap and then "Unable to use read.") src_v4l2_close() tries to free s->buffer but it is already freed by mmap and never reallocated in read.