[PATCH] Fix an endian bug in dbus properties.
Sylvestre Gallon
ccna.syl at gmail.com
Wed Jan 25 15:10:23 EST 2012
On Wed, Jan 4, 2012 at 4:55 PM, Dan Williams <dcbw at redhat.com> wrote:
> On Tue, 2012-01-03 at 17:24 +0100, Sylvestre Gallon wrote:
>> Hi,
>>
>> Here is a patch to allow the use of Frequency and Signal DBus
>> properties for Big Endian targets.
>>
>> I have tried NetworkManager on a powerpc target (BigEndian) and I find
>> that these properties does not work (always 100% for Signal and 0 for
>> Frequency). After some investigation I find that the bug come from an
>> endian problem in wpa_supplicant (u32 to u16 data loss).
>
> Good catch. Looks correct to me.
>
> Dan
>
>> Cheers,
>>
>> Signed-off-by: Sylvestre Gallon <ccna.syl at gmail.com>
>> ---
>> wpa_supplicant/dbus/dbus_new_handlers.c | 8 ++++++--
>> 1 files changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c
>> b/wpa_supplicant/dbus/dbus_new_handlers.c
>> index e3526d4..b03f1d7 100644
>> --- a/wpa_supplicant/dbus/dbus_new_handlers.c
>> +++ b/wpa_supplicant/dbus/dbus_new_handlers.c
>> @@ -2809,13 +2809,15 @@ dbus_bool_t
>> wpas_dbus_getter_bss_signal(DBusMessageIter *iter,
>> {
>> struct bss_handler_args *args = user_data;
>> struct wpa_bss *res;
>> + s16 level;
>>
>> res = get_bss_helper(args, error, __func__);
>> if (!res)
>> return FALSE;
>>
>> + level = (s16)res->level;
>> return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_INT16,
>> - &res->level, error);
>> + &level, error);
>> }
>>
>>
>> @@ -2833,13 +2835,15 @@ dbus_bool_t
>> wpas_dbus_getter_bss_frequency(DBusMessageIter *iter,
>> {
>> struct bss_handler_args *args = user_data;
>> struct wpa_bss *res;
>> + u16 freq;
>>
>> res = get_bss_helper(args, error, __func__);
>> if (!res)
>> return FALSE;
>>
>> + freq = (u16)res->freq;
>> return wpas_dbus_simple_property_getter(iter, DBUS_TYPE_UINT16,
>> - &res->freq, error);
>> + &freq, error);
>> }
>>
>>
>
>
Hi,
I respawn this message, because it seems to be swallowed up by the
mail volume :)
This patch could be helpful for all powerpc and Big Endian users like me :)
Cheers,
--
Sylvestre Gallon
More information about the HostAP
mailing list