primera el elemento <a> es de linea por lo que no puede contener en su interior elementos tipo bloquee como <div>
segunda... con css no puedes cambiar el src de una imagen necesitas javascript salvo que en su lugar coloques un <span> con la imagen de fondo y display block para que le puedas dar el ancho y alto de la imagen que necesitas
si este fuese el caso para usar el hover del padre y cambiar la imagen de fondo en el hijo usarías algo como