I use wpa_supplicant a lot to connect with Android, and I'm doing development, so I monitor what the Android side is doing over Wifi. For IP address assignment on the Linux testbed I am using, I use dhclient, only because it came with Ubuntu 12.10. (I have used dhcpcd on other Linux distros.) On the Android side I use everything stock KitKat 4.4.1, and I regularly monitor wpa_supplicant with wpa_cli to see the discovery state and P2P peers list.
Are you using stock Android outside of the addition of your device driver, or did you also supply your own version of wpa_supplicant? You showed init.rc below. Are those changes you made, or is the setup of wpa_supplicant and dhcpcd set as it is within stock Android? Did you make any changes to wpa_supplicant.conf? Do you see the devices you expect to in the output of "p2p_peers" in wpa_cli?