Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 7fc395e

Browse files
gregkhTreehugger Robot
authored andcommitted
Merge b4ff011 ("sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start") into android15-6.6-lts
Steps on the way to 6.6.57 Change-Id: I2b8e6d160c397a99626a35f9284a070b3a02c26e Signed-off-by: Greg Kroah-Hartman <[email protected]>
2 parents 8195df6 + b4ff011 commit 7fc395e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+272
-137
lines changed

drivers/gpio/gpio-aspeed.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,8 @@ static void __aspeed_gpio_set(struct gpio_chip *gc, unsigned int offset,
406406
gpio->dcache[GPIO_BANK(offset)] = reg;
407407

408408
iowrite32(reg, addr);
409+
/* Flush write */
410+
ioread32(addr);
409411
}
410412

411413
static void aspeed_gpio_set(struct gpio_chip *gc, unsigned int offset,
@@ -1191,7 +1193,7 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
11911193
if (!gpio_id)
11921194
return -EINVAL;
11931195

1194-
gpio->clk = of_clk_get(pdev->dev.of_node, 0);
1196+
gpio->clk = devm_clk_get_enabled(&pdev->dev, NULL);
11951197
if (IS_ERR(gpio->clk)) {
11961198
dev_warn(&pdev->dev,
11971199
"Failed to get clock from devicetree, debouncing disabled\n");

drivers/gpu/drm/nouveau/dispnv04/crtc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1157,7 +1157,7 @@ nv04_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb,
11571157
chan = drm->channel;
11581158
if (!chan)
11591159
return -ENODEV;
1160-
cli = (void *)chan->user.client;
1160+
cli = chan->cli;
11611161
push = chan->chan.push;
11621162

11631163
s = kzalloc(sizeof(*s), GFP_KERNEL);

drivers/gpu/drm/nouveau/nouveau_abi16.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
351351
list_add(&chan->head, &abi16->channels);
352352

353353
/* create channel object and initialise dma and fence management */
354-
ret = nouveau_channel_new(drm, device, false, runm, init->fb_ctxdma_handle,
354+
ret = nouveau_channel_new(cli, false, runm, init->fb_ctxdma_handle,
355355
init->tt_ctxdma_handle, &chan->chan);
356356
if (ret)
357357
goto done;

drivers/gpu/drm/nouveau/nouveau_bo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -843,7 +843,7 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict,
843843
{
844844
struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
845845
struct nouveau_channel *chan = drm->ttm.chan;
846-
struct nouveau_cli *cli = (void *)chan->user.client;
846+
struct nouveau_cli *cli = chan->cli;
847847
struct nouveau_fence *fence;
848848
int ret;
849849

drivers/gpu/drm/nouveau/nouveau_chan.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ static int
5252
nouveau_channel_killed(struct nvif_event *event, void *repv, u32 repc)
5353
{
5454
struct nouveau_channel *chan = container_of(event, typeof(*chan), kill);
55-
struct nouveau_cli *cli = (void *)chan->user.client;
55+
struct nouveau_cli *cli = chan->cli;
5656

5757
NV_PRINTK(warn, cli, "channel %d killed!\n", chan->chid);
5858

@@ -66,7 +66,7 @@ int
6666
nouveau_channel_idle(struct nouveau_channel *chan)
6767
{
6868
if (likely(chan && chan->fence && !atomic_read(&chan->killed))) {
69-
struct nouveau_cli *cli = (void *)chan->user.client;
69+
struct nouveau_cli *cli = chan->cli;
7070
struct nouveau_fence *fence = NULL;
7171
int ret;
7272

@@ -142,10 +142,11 @@ nouveau_channel_wait(struct nvif_push *push, u32 size)
142142
}
143143

144144
static int
145-
nouveau_channel_prep(struct nouveau_drm *drm, struct nvif_device *device,
145+
nouveau_channel_prep(struct nouveau_cli *cli,
146146
u32 size, struct nouveau_channel **pchan)
147147
{
148-
struct nouveau_cli *cli = (void *)device->object.client;
148+
struct nouveau_drm *drm = cli->drm;
149+
struct nvif_device *device = &cli->device;
149150
struct nv_dma_v0 args = {};
150151
struct nouveau_channel *chan;
151152
u32 target;
@@ -155,6 +156,7 @@ nouveau_channel_prep(struct nouveau_drm *drm, struct nvif_device *device,
155156
if (!chan)
156157
return -ENOMEM;
157158

159+
chan->cli = cli;
158160
chan->device = device;
159161
chan->drm = drm;
160162
chan->vmm = nouveau_cli_vmm(cli);
@@ -254,7 +256,7 @@ nouveau_channel_prep(struct nouveau_drm *drm, struct nvif_device *device,
254256
}
255257

256258
static int
257-
nouveau_channel_ctor(struct nouveau_drm *drm, struct nvif_device *device, bool priv, u64 runm,
259+
nouveau_channel_ctor(struct nouveau_cli *cli, bool priv, u64 runm,
258260
struct nouveau_channel **pchan)
259261
{
260262
const struct nvif_mclass hosts[] = {
@@ -279,7 +281,7 @@ nouveau_channel_ctor(struct nouveau_drm *drm, struct nvif_device *device, bool p
279281
struct nvif_chan_v0 chan;
280282
char name[TASK_COMM_LEN+16];
281283
} args;
282-
struct nouveau_cli *cli = (void *)device->object.client;
284+
struct nvif_device *device = &cli->device;
283285
struct nouveau_channel *chan;
284286
const u64 plength = 0x10000;
285287
const u64 ioffset = plength;
@@ -298,7 +300,7 @@ nouveau_channel_ctor(struct nouveau_drm *drm, struct nvif_device *device, bool p
298300
size = ioffset + ilength;
299301

300302
/* allocate dma push buffer */
301-
ret = nouveau_channel_prep(drm, device, size, &chan);
303+
ret = nouveau_channel_prep(cli, size, &chan);
302304
*pchan = chan;
303305
if (ret)
304306
return ret;
@@ -493,13 +495,12 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart)
493495
}
494496

495497
int
496-
nouveau_channel_new(struct nouveau_drm *drm, struct nvif_device *device,
498+
nouveau_channel_new(struct nouveau_cli *cli,
497499
bool priv, u64 runm, u32 vram, u32 gart, struct nouveau_channel **pchan)
498500
{
499-
struct nouveau_cli *cli = (void *)device->object.client;
500501
int ret;
501502

502-
ret = nouveau_channel_ctor(drm, device, priv, runm, pchan);
503+
ret = nouveau_channel_ctor(cli, priv, runm, pchan);
503504
if (ret) {
504505
NV_PRINTK(dbg, cli, "channel create, %d\n", ret);
505506
return ret;

drivers/gpu/drm/nouveau/nouveau_chan.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ struct nouveau_channel {
1212
struct nvif_push *push;
1313
} chan;
1414

15+
struct nouveau_cli *cli;
1516
struct nvif_device *device;
1617
struct nouveau_drm *drm;
1718
struct nouveau_vmm *vmm;
@@ -62,7 +63,7 @@ struct nouveau_channel {
6263
int nouveau_channels_init(struct nouveau_drm *);
6364
void nouveau_channels_fini(struct nouveau_drm *);
6465

65-
int nouveau_channel_new(struct nouveau_drm *, struct nvif_device *, bool priv, u64 runm,
66+
int nouveau_channel_new(struct nouveau_cli *, bool priv, u64 runm,
6667
u32 vram, u32 gart, struct nouveau_channel **);
6768
void nouveau_channel_del(struct nouveau_channel **);
6869
int nouveau_channel_idle(struct nouveau_channel *);

drivers/gpu/drm/nouveau/nouveau_drm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ nouveau_accel_ce_init(struct nouveau_drm *drm)
343343
return;
344344
}
345345

346-
ret = nouveau_channel_new(drm, device, false, runm, NvDmaFB, NvDmaTT, &drm->cechan);
346+
ret = nouveau_channel_new(&drm->client, true, runm, NvDmaFB, NvDmaTT, &drm->cechan);
347347
if (ret)
348348
NV_ERROR(drm, "failed to create ce channel, %d\n", ret);
349349
}
@@ -371,7 +371,7 @@ nouveau_accel_gr_init(struct nouveau_drm *drm)
371371
return;
372372
}
373373

374-
ret = nouveau_channel_new(drm, device, false, runm, NvDmaFB, NvDmaTT, &drm->channel);
374+
ret = nouveau_channel_new(&drm->client, false, runm, NvDmaFB, NvDmaTT, &drm->channel);
375375
if (ret) {
376376
NV_ERROR(drm, "failed to create kernel channel, %d\n", ret);
377377
nouveau_accel_gr_fini(drm);

drivers/net/dsa/b53/b53_common.c

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include <linux/phylink.h>
2828
#include <linux/etherdevice.h>
2929
#include <linux/if_bridge.h>
30+
#include <linux/if_vlan.h>
3031
#include <net/dsa.h>
3132

3233
#include "b53_regs.h"
@@ -224,6 +225,9 @@ static const struct b53_mib_desc b53_mibs_58xx[] = {
224225

225226
#define B53_MIBS_58XX_SIZE ARRAY_SIZE(b53_mibs_58xx)
226227

228+
#define B53_MAX_MTU_25 (1536 - ETH_HLEN - VLAN_HLEN - ETH_FCS_LEN)
229+
#define B53_MAX_MTU (9720 - ETH_HLEN - VLAN_HLEN - ETH_FCS_LEN)
230+
227231
static int b53_do_vlan_op(struct b53_device *dev, u8 op)
228232
{
229233
unsigned int i;
@@ -2263,20 +2267,25 @@ static int b53_change_mtu(struct dsa_switch *ds, int port, int mtu)
22632267
bool allow_10_100;
22642268

22652269
if (is5325(dev) || is5365(dev))
2266-
return -EOPNOTSUPP;
2270+
return 0;
22672271

22682272
if (!dsa_is_cpu_port(ds, port))
22692273
return 0;
22702274

2271-
enable_jumbo = (mtu >= JMS_MIN_SIZE);
2272-
allow_10_100 = (dev->chip_id == BCM583XX_DEVICE_ID);
2275+
enable_jumbo = (mtu > ETH_DATA_LEN);
2276+
allow_10_100 = !is63xx(dev);
22732277

22742278
return b53_set_jumbo(dev, enable_jumbo, allow_10_100);
22752279
}
22762280

22772281
static int b53_get_max_mtu(struct dsa_switch *ds, int port)
22782282
{
2279-
return JMS_MAX_SIZE;
2283+
struct b53_device *dev = ds->priv;
2284+
2285+
if (is5325(dev) || is5365(dev))
2286+
return B53_MAX_MTU_25;
2287+
2288+
return B53_MAX_MTU;
22802289
}
22812290

22822291
static const struct dsa_switch_ops b53_switch_ops = {

drivers/net/ethernet/adi/adin1110.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,11 +318,11 @@ static int adin1110_read_fifo(struct adin1110_port_priv *port_priv)
318318
* from the ADIN1110 frame header.
319319
*/
320320
if (frame_size < ADIN1110_FRAME_HEADER_LEN + ADIN1110_FEC_LEN)
321-
return ret;
321+
return -EINVAL;
322322

323323
round_len = adin1110_round_len(frame_size);
324324
if (round_len < 0)
325-
return ret;
325+
return -EINVAL;
326326

327327
frame_size_no_fcs = frame_size - ADIN1110_FRAME_HEADER_LEN - ADIN1110_FEC_LEN;
328328
memset(priv->data, 0, ADIN1110_RD_HEADER_LEN);

drivers/net/ethernet/ibm/emac/mal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ static int mal_probe(struct platform_device *ofdev)
578578
printk(KERN_ERR "%pOF: Support for 405EZ not enabled!\n",
579579
ofdev->dev.of_node);
580580
err = -ENODEV;
581-
goto fail;
581+
goto fail_unmap;
582582
#endif
583583
}
584584

drivers/net/ethernet/intel/e1000e/hw.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ struct e1000_hw;
108108
#define E1000_DEV_ID_PCH_RPL_I219_V22 0x0DC8
109109
#define E1000_DEV_ID_PCH_MTP_I219_LM18 0x550A
110110
#define E1000_DEV_ID_PCH_MTP_I219_V18 0x550B
111-
#define E1000_DEV_ID_PCH_MTP_I219_LM19 0x550C
112-
#define E1000_DEV_ID_PCH_MTP_I219_V19 0x550D
111+
#define E1000_DEV_ID_PCH_ADP_I219_LM19 0x550C
112+
#define E1000_DEV_ID_PCH_ADP_I219_V19 0x550D
113113
#define E1000_DEV_ID_PCH_LNP_I219_LM20 0x550E
114114
#define E1000_DEV_ID_PCH_LNP_I219_V20 0x550F
115115
#define E1000_DEV_ID_PCH_LNP_I219_LM21 0x5510

drivers/net/ethernet/intel/e1000e/netdev.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7899,10 +7899,10 @@ static const struct pci_device_id e1000_pci_tbl[] = {
78997899
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V17), board_pch_adp },
79007900
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_LM22), board_pch_adp },
79017901
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_RPL_I219_V22), board_pch_adp },
7902+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_LM19), board_pch_adp },
7903+
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ADP_I219_V19), board_pch_adp },
79027904
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM18), board_pch_mtp },
79037905
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V18), board_pch_mtp },
7904-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_LM19), board_pch_mtp },
7905-
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_MTP_I219_V19), board_pch_mtp },
79067906
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM20), board_pch_mtp },
79077907
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_V20), board_pch_mtp },
79087908
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LNP_I219_LM21), board_pch_mtp },

drivers/net/ethernet/intel/i40e/i40e_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1744,6 +1744,7 @@ struct i40e_mac_filter *i40e_add_mac_filter(struct i40e_vsi *vsi,
17441744
struct hlist_node *h;
17451745
int bkt;
17461746

1747+
lockdep_assert_held(&vsi->mac_filter_hash_lock);
17471748
if (vsi->info.pvid)
17481749
return i40e_add_filter(vsi, macaddr,
17491750
le16_to_cpu(vsi->info.pvid));

drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2219,8 +2219,10 @@ static int i40e_vc_get_vf_resources_msg(struct i40e_vf *vf, u8 *msg)
22192219
vfres->vsi_res[0].qset_handle
22202220
= le16_to_cpu(vsi->info.qs_handle[0]);
22212221
if (!(vf->driver_caps & VIRTCHNL_VF_OFFLOAD_USO) && !vf->pf_set_mac) {
2222+
spin_lock_bh(&vsi->mac_filter_hash_lock);
22222223
i40e_del_mac_filter(vsi, vf->default_lan_addr.addr);
22232224
eth_zero_addr(vf->default_lan_addr.addr);
2225+
spin_unlock_bh(&vsi->mac_filter_hash_lock);
22242226
}
22252227
ether_addr_copy(vfres->vsi_res[0].default_mac_addr,
22262228
vf->default_lan_addr.addr);

drivers/net/ethernet/intel/ice/ice.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ enum ice_misc_thread_tasks {
518518
ICE_MISC_THREAD_NBITS /* must be last */
519519
};
520520

521-
struct ice_switchdev_info {
521+
struct ice_eswitch {
522522
struct ice_vsi *control_vsi;
523523
struct ice_vsi *uplink_vsi;
524524
struct ice_esw_br_offloads *br_offloads;
@@ -631,7 +631,7 @@ struct ice_pf {
631631
struct ice_link_default_override_tlv link_dflt_override;
632632
struct ice_lag *lag; /* Link Aggregation information */
633633

634-
struct ice_switchdev_info switchdev;
634+
struct ice_eswitch eswitch;
635635
struct ice_esw_br_port *br_port;
636636

637637
#define ICE_INVALID_AGG_NODE_ID 0
@@ -838,7 +838,7 @@ static inline struct ice_vsi *ice_find_vsi(struct ice_pf *pf, u16 vsi_num)
838838
*/
839839
static inline bool ice_is_switchdev_running(struct ice_pf *pf)
840840
{
841-
return pf->switchdev.is_running;
841+
return pf->eswitch.is_running;
842842
}
843843

844844
#define ICE_FD_STAT_CTR_BLOCK_COUNT 256

0 commit comments

Comments
 (0)