We are using BLE v1.3 in our peripheral device which is line-powered (doesn't use any power-saving).
At times our task performs lengthy number crunching that can take 200-300 msecs to complete. When this happens, the device stops advertising. After calculations are completed and our task gives control back to OSAL, the device does not resume advertising.
In limited discovery mode, this problem 'heals itself' because eventually, the limited discoverability time expires and peripheral state machine goes into WAITING state and then re-starts advertising automatically.
However, in general discovery mode, advertising is permanently dead, i.e. device never advertises again. There are no peripheral callbacks associated with this failure; the only callbacks are GAPROLE_STARTED and GAPROLE_ADVERTISING, both of which occur before the failure.