I've seen a few threads asking about WiFi Direct and a few others about "reverse tethering" (along with some solutions not involving wifi direct)... but I just got it working for myself and think it's a very neat feature for certain circumstances.
Reasons: Having a janky router is one of the best reasons... I wanted to ssh to my phone while on public wifi and couldnt cause the router wouldn't allow that kinda of LAN traffic. If you have a situation where only your computer can get on a network (like just an ethernet cable), this would also be a solution.
You can also use this for a secure connection between your phone and desktop no matter what AP you are connected to. I have setup dropbear and samba so that I do not have to have usb debugging enabled for development.
With my Intel chipset (i dont know if it applies to all) the regular wireless connection runs concurrently with the WiFi Direct. They both show up on Currently Connected and my phone shows up with the same ip as my computer to remote sites.
There are a few things you need to have first...
Your phone will have to support it - I got this working with a stock SGSII, and I see that currently WiFi Direct ships with all ICS phones.
on your phone
Settings->Wireless and network->Wi-Fi Direct settings
to make sure its supported
Your desktop/laptop/internet connected device needs to support it. Im on a Dell i5 with intel wireless chipset. It's called Intel My WiFi Technology.
on your computer
Control Panels->Intel My WiFi Technology
(you may need to view by small icons to see it here)
So here's how to get it going...
On your computer, open the Intel My WiFi Technology Utility and Enable it
Computer-1-Enable My WiFi.png
Pay attention to your Network Name, you'll need it in a minute
Switch over to the phone..
Go to Settings->Wireless and network->Wi-Fi Direct Settings
Phone-1-Wireless and Network.png
Tap Ok for any popups about the connection,
then tap to enable Wi-Fi Direct
then tap Back
(There are other settings here, but they are for phone AP)
Back at the Wireless and network screen,
tap on Wi-Fi settings.
Make sure Wi-Fi is checked then scroll down to the WiFi Networks
Tap the one that matches the Network Name on the Intel My Wi-Fi Utility
At the password dialog, tap WPS PIN
Phone-4-WiFi Connection Setup.png
and you will get a PIN and timer
(ignore the Press Start thing...
it maybe some AP configuration feature)
Switch over to your computer
Click on the button to Share My Internet
then click on Add New Device
Computer-2-Share Internet-Add Device.png
Click on Use Wi-Fi PIN configuration
Computer-3-Add New Device PIN.png
Enter the PIN shown on your phone into the box on your computer and OK out...
If it worked, you should see
Computer-Success-Intel My WiFi Utility.png
Here is a successful Network and Sharing Center
(notice how there are two separate networks on the single wifi adapter, pretty cool)
Computer-Success-Network and Sharing Center.png
That's about it... After this you should have full internet access on your phone ... and you full, secure LAN access to it for stuff like SAMBA and SSH