[PATCH 1/2] bluetooth : put hci dev after del conn - Kernel

This is a discussion on [PATCH 1/2] bluetooth : put hci dev after del conn - Kernel ; Move hci_dev_put to del_conn to avoid hci dev going away before hci conn. Signed-off-by: Dave Young --- net/bluetooth/hci_conn.c | 1 - net/bluetooth/hci_sysfs.c | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff -upr linux/net/bluetooth/hci_conn.c linux.new/net/bluetooth/hci_conn.c --- linux/net/bluetooth/hci_conn.c 2008-02-16 06:38:56.000000000 ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: [PATCH 1/2] bluetooth : put hci dev after del conn

  1. [PATCH 1/2] bluetooth : put hci dev after del conn

    Move hci_dev_put to del_conn to avoid hci dev going away before hci conn.

    Signed-off-by: Dave Young

    ---
    net/bluetooth/hci_conn.c | 1 -
    net/bluetooth/hci_sysfs.c | 5 ++++-
    2 files changed, 4 insertions(+), 2 deletions(-)

    diff -upr linux/net/bluetooth/hci_conn.c linux.new/net/bluetooth/hci_conn.c
    --- linux/net/bluetooth/hci_conn.c 2008-02-16 06:38:56.000000000 +0800
    +++ linux.new/net/bluetooth/hci_conn.c 2008-02-16 06:54:17.000000000 +0800
    @@ -260,7 +260,6 @@ int hci_conn_del(struct hci_conn *conn)
    tasklet_enable(&hdev->tx_task);
    skb_queue_purge(&conn->data_q);
    hci_conn_del_sysfs(conn);
    - hci_dev_put(hdev);

    return 0;
    }
    diff -upr linux/net/bluetooth/hci_sysfs.c linux.new/net/bluetooth/hci_sysfs.c
    --- linux/net/bluetooth/hci_sysfs.c 2008-02-16 06:38:56.000000000 +0800
    +++ linux.new/net/bluetooth/hci_sysfs.c 2008-02-16 06:54:17.000000000 +0800
    @@ -333,15 +333,18 @@ static int __match_tty(struct device *de

    static void del_conn(struct work_struct *work)
    {
    - struct device *dev;
    struct hci_conn *conn = container_of(work, struct hci_conn, work);
    + struct hci_dev *hdev = conn->hdev;
    + struct device *dev;

    while (dev = device_find_child(&conn->dev, NULL, __match_tty)) {
    device_move(dev, NULL);
    put_device(dev);
    }
    +
    device_del(&conn->dev);
    put_device(&conn->dev);
    + hci_dev_put(hdev);
    }

    void hci_conn_del_sysfs(struct hci_conn *conn)
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH 1/2] bluetooth : put hci dev after del conn

    From: Dave Young
    Date: Mon, 18 Feb 2008 15:55:55 +0800

    > Move hci_dev_put to del_conn to avoid hci dev going away before hci conn.


    This looks correct so I have applied it.

    > Signed-off-by: Dave Young


    Please remove the extraneous space at the end of your
    signoff line next time :-)

    Also, I reworked the loop in del_conn() so that it no longer
    generates a compile warning, so I had to apply your patch
    by hand.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH 1/2] bluetooth : put hci dev after del conn

    On Feb 19, 2008 12:44 PM, David Miller wrote:
    > From: Dave Young
    > Date: Mon, 18 Feb 2008 15:55:55 +0800
    >
    > > Move hci_dev_put to del_conn to avoid hci dev going away before hci conn.

    >
    > This looks correct so I have applied it.
    >
    > > Signed-off-by: Dave Young

    >
    > Please remove the extraneous space at the end of your
    > signoff line next time :-)


    Will do

    >
    > Also, I reworked the loop in del_conn() so that it no longer
    > generates a compile warning, so I had to apply your patch
    > by hand.
    >


    Thanks a lot.

    Regards
    dave
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread