DQpUaGVzZSBhcmUgdGhlIG5ldHdvcmtpbmcgdXBkYXRlcyBmb3IgMi42LjMwDQoNClRoZSBzYWZl c3QgZml4IGZvciB0aGUgR1JPIHN0aW5rZXIgSW5nbyBhbmQgb3RoZXJzIHJhbiBpbnRvDQppcyBo ZXJlIGFzIHdlbGwsIGFuZCBJIHdpbGwgcHVzaCB0aGF0IHRvIC1zdGFibGUgb25jZSBpdA0KaGl0 cyB5b3VyIHRyZWUuDQoNClNvbWUgbm90YWJsZSBpdGVtczoNCg0KMSkgTG90cyBvZiBuZXRfZGV2 aWNlX29wcyBjb252ZXJzaW9ucywgd2UgYXJlIGNsb3NlIHRvIGJlaW5nDQogICB3aGVyZSB3ZSBj YW4gcmVtb3ZlIHRoZSBjb21wYXRpYmlsaXR5IGNvZGUuICBUaGVyZSBhcmUgc29tZQ0KICAgcGxh dGZvcm0gc3BlY2lmaWMgbmV0d29yayBkcml2ZXJzIHRoYXQgc3RpbGwgbmVlZCBjb252ZXJzaW9u cy4NCg0KMikgTG90cyBvZiBwZXJmb3JtYW5jZSB3b3JrIHdpdGggbmV0ZmlsdGVyIHRoYW5rcyB0 byBTdGVwaGVuDQogICBIZW1taW5nZXIgYW5kIEVyaWMgRHVtYXpldC4NCg0KMykgSVAgbXVsdGlj YXN0IHJvdXRpbmcgaXMgbm93IG5ldHdvcmsgbmFtZXNwYWNlIGF3YXJlLCBhcyBhcmUNCiAgIHRo ZSB2YXJpb3VzIFBQUCBkcml2ZXJzLg0KDQo0KSBBIGZyYW1ld29yayBmb3IgaGFyZHdhcmUgdGlt ZXN0YW1waW5nIGFuZCBoaWdoZXIgcmVzb2x1dGlvbg0KICAgc29mdHdhcmUgdGltZXN0YW1waW5n IGZyb20gUGF0cmljayBPaGx5IGFuZCB0aGUgSW50ZWwgZm9sa3MuDQoNCjUpIFJEUyBuZXR3b3Jr IHByb3RvY29sIHN0YWNrIGZyb20gT3JhY2xlLg0KDQo2KSBMb3RzIG9mIGNsZWFudXBzIGFuZCBk cml2ZXIgdXBkYXRlcyBhbGwgb3Zlci4NCg0KTm90aGluZyByZWFsbHkgZWFydGggc2hhdHRlcmlu ZyBpbiBoZXJlLg0KDQpQbGVhc2UgcHVsbCwgdGhhbmtzIGEgbG90IQ0KDQpUaGUgZm9sbG93aW5n IGNoYW5nZXMgc2luY2UgY29tbWl0IDhlMGVlNDNiYzJjM2UxOWRiNTZhNGFkYWE5YTliMDRjZTg4 NWNkODQ6DQogIExpbnVzIFRvcnZhbGRzICgxKToNCiAgICAgICAgTGludXggMi42LjI5DQoNCmFy ZSBhdmFpbGFibGUgaW4gdGhlIGdpdCByZXBvc2l0b3J5IGF0Og0KDQogIG1hc3Rlci5rZXJuZWwu b3JnOi9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvZGF2ZW0vbmV0LW5leHQtMi42LmdpdCBtYXN0 ZXINCg0KQWJiYXMsIE1vaGFtZWQgKDMpOg0KICAgICAgaXdsd2lmaTogYWxsb3cgdXNlciB0byBz ZXQgbWF4IHJhdGUNCiAgICAgIGl3bGFnbjogZml4IGFnbiByYXRlIHNjYWxpbmcNCiAgICAgIGl3 bDM5NDU6IGZpeCBkZWVwIHNsZWVwIHdoZW4gcmVtb3ZpbmcgdGhlIGRyaXZlci4NCg0KQWJoaWpl ZXQgS29sZWthciAoMjIpOg0KICAgICAgaXdsMzk0NTogdXNlIGl3bF9yeF9tZW1fYnVmZmVyDQog ICAgICBpd2wzOTQ1OiB1c2UgaXdsX3J4X3F1ZXVlIGluIGl3bDM5NDUNCiAgICAgIGl3bDM5NDU6 IHVzZSBpd2xfaHdfcGFyYW1zIGluIGl3bDM5NDVfcHJpdg0KICAgICAgaXdsMzk0NTogcmVuYW1l IGl3bDM5NDVfcHJp ...
Hi David, I know that I should ask to the ath5k developers but.. when we'll have a fully working ath5k driver for AP mode? I think this would a very nice feature to have and quite urgent to definitely migrate from the old madwifi drivers. --
From: David Miller <davem@davemloft.net> Just FYI, I've just pushed a merge of the changes you pulled in today Thanks! --
Well, I merged infiniband, and that caused more conflicts. I fixed them up, but people need to double-check my fixes. Linus --
From: Linus Torvalds <torvalds@linux-foundation.org> Will do. --
When net-next and infiniband were merged upstream, each branch deleted one of a pair of adjacent lines from nes_nic.c, but when Linus fixed the conflict up, he brought back both of the lines. Fix up to the intended final tree state. --- > Well, I merged infiniband, and that caused more conflicts. I fixed them > up, but people need to double-check my fixes. Looks like you mismerged one file -- each side deleted one line right next to each other, but your merge left both lines in. I think the patch below is needed. (The cxgb3 fix looks correct) drivers/infiniband/hw/nes/nes_nic.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c index 8d3e4c6..ecb1f6f 100644 --- a/drivers/infiniband/hw/nes/nes_nic.c +++ b/drivers/infiniband/hw/nes/nes_nic.c @@ -1602,8 +1602,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, netif_napi_add(netdev, &nesvnic->napi, nes_netdev_poll, 128); nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n"); netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; - netdev->vlan_rx_register = nes_netdev_vlan_rx_register; - netdev->features |= NETIF_F_LLTX; /* Fill in the port structure */ nesvnic->netdev = netdev; --
Btw, as far as I can tell, that function had never been tested with any polling. It had a line like netif_napi_add(netdev, &nesvnic->napi, nes_netdev_poll, 128); but that line was _before_ 'nesvnic' was actually initialized (well, it had been initialized to NULL, so it passed in some NULL-pointer-offset to that function). I moved that initialization up in the merge, but I obviously didn't test anything. So I'd suggest somebody actually test this case, because it clearly must have gotten no testing at all. Linus --
> Btw, as far as I can tell, that function had never been tested with any > polling. It had a line like > > netif_napi_add(netdev, &nesvnic->napi, nes_netdev_poll, 128); > > but that line was _before_ 'nesvnic' was actually initialized (well, it > had been initialized to NULL, so it passed in some NULL-pointer-offset to > that function). Yes, looks like the bug was introduced by d0929553 ("infiniband: convert nes driver to net_device_ops"). And unfortunately the nesvnic=NULL initialization stopped gcc from warning about used-uninitialized I guess. I'll test the final merge out... - R. --
From: Roland Dreier <rdreier@cisco.com> Sorry about that, thanks for working this out Roland. --
> Can I get a sign-off from Roland too? Duh, not my day... Signed-off-by: Roland Dreier <rolandd@cisco.com> --
When net-next and infiniband were merged upstream, each branch deleted one of a pair of adjacent lines from nes_nic.c, but when Linus fixed the conflict up, he brought back both of the lines. Fix up to the intended final tree state. Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Roland Dreier <rolandd@cisco.com> --- Resending because this seems to have gotten dropped (probably because I forgot my s-o-b the first time around); in the meantime I have tested the iw_nes driver with this patch applied and it works (at least enough to run some light traffic) drivers/infiniband/hw/nes/nes_nic.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c index 8d3e4c6..ecb1f6f 100644 --- a/drivers/infiniband/hw/nes/nes_nic.c +++ b/drivers/infiniband/hw/nes/nes_nic.c @@ -1602,8 +1602,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, netif_napi_add(netdev, &nesvnic->napi, nes_netdev_poll, 128); nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n"); netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; - netdev->vlan_rx_register = nes_netdev_vlan_rx_register; - netdev->features |= NETIF_F_LLTX; /* Fill in the port structure */ nesvnic->netdev = netdev; --
Actually, it didn't get dropped - I just forgot to push out my tree after the final fixes yesterday. Linus --
> Actually, it didn't get dropped - I just forgot to push out my tree after > the final fixes yesterday. OK -- tree looks good now, thanks. --
