> On Mon, Nov 22, 2010 at 06:08:45AM -0500,
pavan_savoy@ti.com wrote:
>> +static int bt_ti_probe(struct platform_device *pdev)
>> +{
>> + static struct ti_st *hst;
>> + struct hci_dev *hdev;
>> + int err;
>> +
>> + hst = kzalloc(sizeof(struct ti_st), GFP_KERNEL);
>> + if (!hst)
>> + return -ENOMEM;
>> +
>> + /* Expose "hciX" device to user space */
>> + hdev = hci_alloc_dev();
>> + if (!hdev) {
>> + kfree(hst);
>> + return -ENOMEM;
>> + }
>> +
>> + BT_DBG("hdev %p", hdev);
>> +
>> + hst->hdev = hdev;
>> + hdev->bus = HCI_UART;
>> + hdev->driver_data = hst;
>> + hdev->open = ti_st_open;
>> + hdev->close = ti_st_close;
>> + hdev->flush = NULL;
>> + hdev->send = ti_st_send_frame;
>> + hdev->destruct = ti_st_destruct;
>> + hdev->owner = THIS_MODULE;
>> +
>> + err = hci_register_dev(hdev);
>> + if (err < 0) {
>> + BT_ERR("Can't register HCI device error %d", err);
>> + hci_free_dev(hdev);
>
> Should there be a kfree(hst); here? That's how it's done in
> bpa10x_probe() from drivers/bluetooth/bpa10x.c
>
>> + return err;
>> + }
>> +
>> + BT_DBG(" HCI device registered (hdev %p)", hdev);
> ^
> Quite a few places have an extra space at the start.
>
>> +
>> + dev_set_drvdata(&pdev->dev, hst);
>> + return err;
>> +}
>
> regards,
> dan carpenter