Hi Robert, On Tue, Feb 24, 2015 at 12:01:45PM +0200, Robert Dolca wrote: > By calling __nci_request instead of nci_request allows the driver to use > the function while initializing the device (setup stage) > > Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> > --- > net/nfc/nci/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/nfc/nci/core.c b/net/nfc/nci/core.c > index 9575a18..c4dd5d8 100644 > --- a/net/nfc/nci/core.c > +++ b/net/nfc/nci/core.c > @@ -558,7 +558,7 @@ static void nci_core_conn_close_req(struct nci_dev *ndev, unsigned long opt) > > int nci_core_conn_close(struct nci_dev *ndev, u8 conn_id) > { > - return nci_request(ndev, nci_core_conn_close_req, conn_id, > + return __nci_request(ndev, nci_core_conn_close_req, conn_id, > msecs_to_jiffies(NCI_CMD_TIMEOUT)); You're fixing your problem by removing the NCI request serialization and removing the check for your device being UP. I assume you need to open and close a proprietary connection from your setup hook ? Then please extend nci_request() to check for both NCI_UP and NCI_INIT. Cheers, Samuel. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html