[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2119fc93636742459899d50f2c1fcb8d@SC-EXCH04.marvell.com>
Date: Fri, 22 Apr 2016 11:24:00 +0000
From: Amitkumar Karwar <akarwar@...vell.com>
To: Marcel Holtmann <marcel@...tmann.org>
CC: Linux Bluetooth <linux-bluetooth@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Ganapathi Bhat <gbhat@...vell.com>,
Cathy Luo <cluo@...vell.com>
Subject: RE: [PATCH v7] Bluetooth: hci_uart: Support firmware download for
Marvell
Hi Marcel,
>
> > > +
> > > +static int mrvl_setup(struct hci_uart *hu) {
> > > + struct mrvl_data *mrvl = hu->priv;
> > > +
> > > + mrvl_init_fw_data(hu);
> > > + set_bit(HCI_UART_DNLD_FW, &mrvl->flags);
> > > +
> > > + return hci_uart_dnld_fw(hu);
> > > +}
> >
> > So this is clearly the wrong spot. When ->setup is called it is
> > expected that HCI is ready. You are misusing it here.
> >
>
> Sure. We will move this to mrvl_open() where HCI is not yet initialized.
We tried moving firmware download to mrvl_open(), but it's not feasible. "hu->proto" is not yet initialized at that time. So when the data/ack is received during firmware download, we can't have Marvell specific handling. Also, I can see other vendor's (broadcomm, Intel) have done firmware download in setup handler.
I will send V8 patch shortly. Please check.
Regards,
Amitkumar
Powered by blists - more mailing lists