Safe reset WiFI101 - WINC1500

Hi. I am using Adafruit WINC1500 WiFi Shield and WiFi101 library.
I searched for a solution to soft reset WINC1500 WiFi, without success.

Short story:

I start to use Pin RST like this (nm_bsp_arduino.c):

/**
 *	@fn		nm_bsp_reset
 *	@brief	Reset NMC1500 SoC by setting CHIP_EN and RESET_N signals low,
 *           CHIP_EN high then RESET_N high
 *	@author	M. Abdelmawla
 *	@date	11 July 2012
 *	@version	1.0
 */
void nm_bsp_reset(void)
{
	if (gi8Winc1501ResetPin > -1)
	{
		digitalWrite(gi8Winc1501ResetPin, LOW);
		nm_bsp_sleep(100);
		digitalWrite(gi8Winc1501ResetPin, HIGH);
		nm_bsp_sleep(100);
	}
}

But using this is messing up things for good.

The upper level is sint8 nm_bsp_init(void) that is using nm_bsp_reset(void)... same result.
Going further I found that chip is reset by using NMI_API sint8 m2m_wifi_reinit (tstrWifiInitParam *bpWifiInitParam) which is used in WiFi.init() method.

It seems that using WiFi.init() is the only safe method to reset WINC1500, without messing up WiFi object. Also, using it do not change the level of free memory, so it seems to be safe.

Question: is ok use this approach?