<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/wireless/st/cw1200/txrx.c, branch linux-6.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2022-09-07T08:03:00Z</updated>
<entry>
<title>wifi: cw1200: use get_unaligned_le64()</title>
<updated>2022-09-07T08:03:00Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2022-09-04T19:29:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=53b17c121f29d6bf8547f8823650a8d134e7afb6'/>
<id>urn:sha1:53b17c121f29d6bf8547f8823650a8d134e7afb6</id>
<content type='text'>
Instead of the code here that copies into a variable
first and then flips endianness, which confuses sparse,
just directly use get_unaligned_le64().

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20220904212910.a5c9ea122f0f.If786a66f8fd9d45659cd5a2532cf395e21334453@changeid
</content>
</entry>
<entry>
<title>wifi: cw1200: remove RCU STA pointer handling in TX</title>
<updated>2022-09-07T08:02:59Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2022-09-04T19:29:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=df8e1af22cee900826112e8e4612cbeb2b168929'/>
<id>urn:sha1:df8e1af22cee900826112e8e4612cbeb2b168929</id>
<content type='text'>
We can call this in one of two ways: through mac80211, where
we're already in an RCU read-side critical section, or from
some other code in the driver where this pointer can only be
NULL. In any case, we get a 'free' already protected pointer
to the sta through info-&gt;control.sta, so we can use it on
the stack without any further protection.

Remove the rcu_dereference() and critical section.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@kernel.org&gt;
Link: https://lore.kernel.org/r/20220904212910.e5bc20dd17bf.Ib570ff7fde33c2b6eddef493a3541fa04eb47181@changeid
</content>
</entry>
<entry>
<title>wifi: mac80211: move interface config to new struct</title>
<updated>2022-06-20T10:55:03Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2022-05-10T15:05:04Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f276e20b182dbfc069d192fda259d85feea71143'/>
<id>urn:sha1:f276e20b182dbfc069d192fda259d85feea71143</id>
<content type='text'>
We'll use bss_conf for per-link configuration later, so
move out all the non-link-specific data out into a new
struct ieee80211_vif_cfg used in the vif.

Some adjustments were done with the following spatch:

    @@
    expression sdata;
    struct ieee80211_vif *vifp;
    identifier var = { assoc, ibss_joined, aid, arp_addr_list, arp_addr_cnt, ssid, ssid_len, s1g, ibss_creator };
    @@
    (
    -sdata-&gt;vif.bss_conf.var
    +sdata-&gt;vif.cfg.var
    |
    -vifp-&gt;bss_conf.var
    +vifp-&gt;cfg.var
    )

    @bss_conf@
    struct ieee80211_bss_conf *bss_conf;
    identifier var = { assoc, ibss_joined, aid, arp_addr_list, arp_addr_cnt, ssid, ssid_len, s1g, ibss_creator };
    @@
    -bss_conf-&gt;var
    +vif_cfg-&gt;var

(though more manual fixups were needed, e.g. replacing
"vif_cfg-&gt;" by "vif-&gt;cfg." in many files.)

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>cw1200: txrx: convert comma to semicolon</title>
<updated>2020-12-10T18:49:14Z</updated>
<author>
<name>Zheng Yongjun</name>
<email>zhengyongjun3@huawei.com</email>
</author>
<published>2020-12-09T13:55:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c42d492c672af19f3bd5f9736bf2ad1c0eb779b3'/>
<id>urn:sha1:c42d492c672af19f3bd5f9736bf2ad1c0eb779b3</id>
<content type='text'>
Replace a comma between expression statements by a semicolon.

Signed-off-by: Zheng Yongjun &lt;zhengyongjun3@huawei.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20201209135550.2004-1-zhengyongjun3@huawei.com
</content>
</entry>
<entry>
<title>cw1200: use true,false for bool variable</title>
<updated>2020-01-26T15:40:43Z</updated>
<author>
<name>zhengbin</name>
<email>zhengbin13@huawei.com</email>
</author>
<published>2019-12-24T14:16:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ab36bb72d00e24ae637a87ce8cde568435322a56'/>
<id>urn:sha1:ab36bb72d00e24ae637a87ce8cde568435322a56</id>
<content type='text'>
Fixes coccicheck warning:

drivers/net/wireless/st/cw1200/txrx.c:718:6-16: WARNING: Assignment of 0/1 to bool variable

Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: zhengbin &lt;zhengbin13@huawei.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500</title>
<updated>2019-06-19T15:09:55Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-06-04T08:11:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d2912cb15bdda8ba4a5dd73396ad62641af2f520'/>
<id>urn:sha1:d2912cb15bdda8ba4a5dd73396ad62641af2f520</id>
<content type='text'>
Based on 2 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation #

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 4122 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;
Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cw1200: Remove extra parentheses</title>
<updated>2018-08-31T15:42:25Z</updated>
<author>
<name>Varsha Rao</name>
<email>rvarsha016@gmail.com</email>
</author>
<published>2018-07-25T19:00:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=057118edfc365676022cdce4b218074f1fd67672'/>
<id>urn:sha1:057118edfc365676022cdce4b218074f1fd67672</id>
<content type='text'>
Remove unnecessary parentheses to fix the extraneous parentheses clang
warning.

Signed-off-by: Varsha Rao &lt;rvarsha016@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>cw1200: fix spelling mistake: "Mailformed" -&gt; "Malformed"</title>
<updated>2018-04-24T17:23:05Z</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2018-03-29T15:38:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0fb1abc3a0b8f83b312b3c00e98643a17df69e87'/>
<id>urn:sha1:0fb1abc3a0b8f83b312b3c00e98643a17df69e87</id>
<content type='text'>
Trivial fix to spelling mistake in wiphy_warn warning message text

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>networking: make skb_push &amp; __skb_push return void pointers</title>
<updated>2017-06-16T15:48:40Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2017-06-16T12:29:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d58ff35122847a83ba55394e2ae3a1527b6febf5'/>
<id>urn:sha1:d58ff35122847a83ba55394e2ae3a1527b6febf5</id>
<content type='text'>
It seems like a historic accident that these return unsigned char *,
and in many places that means casts are required, more often than not.

Make these functions return void * and remove all the casts across
the tree, adding a (u8 *) cast only where the unsigned char pointer
was used directly, all done with the following spatch:

    @@
    expression SKB, LEN;
    typedef u8;
    identifier fn = { skb_push, __skb_push, skb_push_rcsum };
    @@
    - *(fn(SKB, LEN))
    + *(u8 *)fn(SKB, LEN)

    @@
    expression E, SKB, LEN;
    identifier fn = { skb_push, __skb_push, skb_push_rcsum };
    type T;
    @@
    - E = ((T *)(fn(SKB, LEN)))
    + E = fn(SKB, LEN)

    @@
    expression SKB, LEN;
    identifier fn = { skb_push, __skb_push, skb_push_rcsum };
    @@
    - fn(SKB, LEN)[0]
    + *(u8 *)fn(SKB, LEN)

Note that the last part there converts from push(...)[0] to the
more idiomatic *(u8 *)push(...).

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mac80211: separate encoding/bandwidth from flags</title>
<updated>2017-04-28T08:41:45Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2017-04-26T10:14:59Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=da6a4352e7c867f81d7336f6517e819b3cce06bf'/>
<id>urn:sha1:da6a4352e7c867f81d7336f6517e819b3cce06bf</id>
<content type='text'>
We currently use a lot of flags that are mutually incompatible,
separate this out into actual encoding and bandwidth enum values.

Much of this again done with spatch, with manual post-editing,
mostly to add the switch statements and get rid of the conversions.

@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_80MHZ
+status-&gt;bw = RATE_INFO_BW_80
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_40MHZ
+status-&gt;bw = RATE_INFO_BW_40
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_20MHZ
+status-&gt;bw = RATE_INFO_BW_20
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_160MHZ
+status-&gt;bw = RATE_INFO_BW_160
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_5MHZ
+status-&gt;bw = RATE_INFO_BW_5
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_10MHZ
+status-&gt;bw = RATE_INFO_BW_10

@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_VHT
+status-&gt;encoding = RX_ENC_VHT
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_HT
+status-&gt;encoding = RX_ENC_HT
@@
expression status;
@@
-status.enc_flags |= RX_ENC_FLAG_VHT
+status.encoding = RX_ENC_VHT
@@
expression status;
@@
-status.enc_flags |= RX_ENC_FLAG_HT
+status.encoding = RX_ENC_HT

@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_HT)
+(status-&gt;encoding == RX_ENC_HT)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_VHT)
+(status-&gt;encoding == RX_ENC_VHT)

@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_5MHZ)
+(status-&gt;bw == RATE_INFO_BW_5)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_10MHZ)
+(status-&gt;bw == RATE_INFO_BW_10)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_40MHZ)
+(status-&gt;bw == RATE_INFO_BW_40)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_80MHZ)
+(status-&gt;bw == RATE_INFO_BW_80)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_160MHZ)
+(status-&gt;bw == RATE_INFO_BW_160)

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
