From: Jaikumar Ganesh <jaikumar@google.com>
To: Jaikumar Ganesh <jaikumar@google.com>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH] Update SDP storage records when a record is deleted.
Date: Wed, 28 Oct 2009 16:45:05 -0700 [thread overview]
Message-ID: <e8892a6a0910281645r39d3b793wa9b9f2cc948da3da@mail.gmail.com> (raw)
In-Reply-To: <20091028233425.GA13183@jh-x301>
Hi Johan:
On Wed, Oct 28, 2009 at 4:34 PM, Johan Hedberg <johan.hedberg@gmail.com> wrote:
> Hi Jaikumar,
>
> On Mon, Oct 26, 2009, Jaikumar Ganesh wrote:
>> When the device is removed, we remove the cache and remove the device->uuids
>> value. So when the device is created the next time, we cannot depend on
>> the profiles_removed value, we need to reconstruct from device->uuids.
>> device_remove_drivers call is based on the profiles_removed flag and hence that
>> call will never be made, when a new device is created.
>>
>> My change removes the dependency of SDP records and the probe_drivers,
>> Thus, removal of SDP records doesn't depend on the profiles_removed flag
>> but rather uses device->uuids directly.
>>
>> profiles_added and profiles_removed flags are useful in the case where
>> the user calls discover services on an already created device and there
>> are changes in the SDP records.
>
> If a device was removed then we shouldn't have any records stored records
> for it left in the cache and so it shouldn't matter that the
> profiles_removed list is empty when the device is recreated again, right?
> It seems there's a bug in the device_remove_stored function in device.c
> since it doesn't remove the record cache, so that's at least something
> that should be fixed.
>
The SDP cache is removed when the device is removed. In fact, you
fixed this a few days back.
This is the scenario I am referring to:
a) Device is paired and SDP records fetched.
b) Device is unpaired - device cache records of SDP is freed
c) On Remote Device - some SDP records are deleted.
d) When the device is created again and the SDP records fetched,
profiles_removed is empty and so
if (req->profiles_removed)
device_remove_drivers(device, req->profiles_removed);
device_remove_drivers will not be called and hence SDP records will
never get deleted.
e) My change removes the coupling of SDP records with the drivers code
and hence we will remove the SDP records in this scenario.
> Johan
>
Thanks
Jaikumar
next prev parent reply other threads:[~2009-10-28 23:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-22 23:19 [PATCH] Update SDP storage records when a record is deleted Jaikumar Ganesh
2009-10-22 23:58 ` Johan Hedberg
2009-10-23 13:49 ` Luiz Augusto von Dentz
2009-10-23 15:17 ` Jaikumar Ganesh
2009-10-23 17:44 ` Luiz Augusto von Dentz
2009-10-26 15:20 ` Jaikumar Ganesh
2009-10-28 19:00 ` jaikumar Ganesh
2009-10-28 23:34 ` Johan Hedberg
2009-10-28 23:45 ` Jaikumar Ganesh [this message]
2009-10-28 23:54 ` Johan Hedberg
2009-10-29 0:02 ` Jaikumar Ganesh
2009-10-29 0:15 ` Johan Hedberg
2009-10-29 18:42 ` Jaikumar Ganesh
2009-10-29 20:30 ` Jaikumar Ganesh
2009-10-29 20:34 ` Luiz Augusto von Dentz
2009-10-29 21:04 ` Jaikumar Ganesh
2009-10-29 21:13 ` Johan Hedberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e8892a6a0910281645r39d3b793wa9b9f2cc948da3da@mail.gmail.com \
--to=jaikumar@google.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox