Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion drivers/block/virtio_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -1313,6 +1313,7 @@ static int virtblk_probe(struct virtio_device *vdev)
u16 min_io_size;
u8 physical_block_exp, alignment_offset;
unsigned int queue_depth;
size_t max_dma_size;

if (!vdev->config->get) {
dev_err(&vdev->dev, "%s failure: config access disabled\n",
Expand Down Expand Up @@ -1411,7 +1412,8 @@ static int virtblk_probe(struct virtio_device *vdev)
/* No real sector limit. */
blk_queue_max_hw_sectors(q, UINT_MAX);

max_size = virtio_max_dma_size(vdev);
max_dma_size = virtio_max_dma_size(vdev);
max_size = max_dma_size > U32_MAX ? U32_MAX : max_dma_size;

/* Host can optionally specify maximum segment size and number of
* segments. */
Expand Down
2 changes: 1 addition & 1 deletion drivers/input/rmi4/rmi_bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,11 +277,11 @@ void rmi_unregister_function(struct rmi_function *fn)

device_del(&fn->dev);
of_node_put(fn->dev.of_node);
put_device(&fn->dev);

for (i = 0; i < fn->num_of_irqs; i++)
irq_dispose_mapping(fn->irq[i]);

put_device(&fn->dev);
}

/**
Expand Down
6 changes: 6 additions & 0 deletions drivers/net/bonding/bond_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1505,6 +1505,10 @@ static void bond_compute_features(struct bonding *bond)
static void bond_setup_by_slave(struct net_device *bond_dev,
struct net_device *slave_dev)
{
bool was_up = !!(bond_dev->flags & IFF_UP);

dev_close(bond_dev);

bond_dev->header_ops = slave_dev->header_ops;

bond_dev->type = slave_dev->type;
Expand All @@ -1519,6 +1523,8 @@ static void bond_setup_by_slave(struct net_device *bond_dev,
bond_dev->flags &= ~(IFF_BROADCAST | IFF_MULTICAST);
bond_dev->flags |= (IFF_POINTOPOINT | IFF_NOARP);
}
if (was_up)
dev_open(bond_dev, NULL);
}

/* On bonding slaves other than the currently active slave, suppress
Expand Down
3 changes: 3 additions & 0 deletions drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ void rt2x00lib_disable_radio(struct rt2x00_dev *rt2x00dev)
rt2x00link_stop_tuner(rt2x00dev);
rt2x00queue_stop_queues(rt2x00dev);
rt2x00queue_flush_queues(rt2x00dev, true);
rt2x00queue_stop_queue(rt2x00dev->bcn);

/*
* Disable radio.
Expand Down Expand Up @@ -1286,6 +1287,7 @@ int rt2x00lib_start(struct rt2x00_dev *rt2x00dev)
rt2x00dev->intf_ap_count = 0;
rt2x00dev->intf_sta_count = 0;
rt2x00dev->intf_associated = 0;
rt2x00dev->intf_beaconing = 0;

/* Enable the radio */
retval = rt2x00lib_enable_radio(rt2x00dev);
Expand All @@ -1312,6 +1314,7 @@ void rt2x00lib_stop(struct rt2x00_dev *rt2x00dev)
rt2x00dev->intf_ap_count = 0;
rt2x00dev->intf_sta_count = 0;
rt2x00dev->intf_associated = 0;
rt2x00dev->intf_beaconing = 0;
}

static inline void rt2x00lib_set_if_combinations(struct rt2x00_dev *rt2x00dev)
Expand Down
11 changes: 11 additions & 0 deletions drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,17 @@ void rt2x00mac_bss_info_changed(struct ieee80211_hw *hw,
*/
if (changes & BSS_CHANGED_BEACON_ENABLED) {
mutex_lock(&intf->beacon_skb_mutex);

/*
* Clear the 'enable_beacon' flag and clear beacon because
* the beacon queue has been stopped after hardware reset.
*/
if (test_bit(DEVICE_STATE_RESET, &rt2x00dev->flags) &&
intf->enable_beacon) {
intf->enable_beacon = false;
rt2x00queue_clear_beacon(rt2x00dev, vif);
}

if (!bss_conf->enable_beacon && intf->enable_beacon) {
rt2x00dev->intf_beaconing--;
intf->enable_beacon = false;
Expand Down
3 changes: 2 additions & 1 deletion drivers/usb/core/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -1053,7 +1053,7 @@ int usb_get_bos_descriptor(struct usb_device *dev)

if (cap->bDescriptorType != USB_DT_DEVICE_CAPABILITY) {
dev_notice(ddev, "descriptor type invalid, skip\n");
continue;
goto skip_to_next_descriptor;
}

switch (cap_type) {
Expand Down Expand Up @@ -1084,6 +1084,7 @@ int usb_get_bos_descriptor(struct usb_device *dev)
break;
}

skip_to_next_descriptor:
total_len -= length;
buffer += length;
}
Expand Down
3 changes: 3 additions & 0 deletions drivers/usb/typec/tcpm/tcpm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1625,6 +1625,9 @@ static int tcpm_pd_svdm(struct tcpm_port *port, struct typec_altmode *adev,
if (PD_VDO_VID(p[0]) != USB_SID_PD)
break;

if (IS_ERR_OR_NULL(port->partner))
break;

if (PD_VDO_SVDM_VER(p[0]) < svdm_version) {
typec_partner_set_svdm_version(port->partner,
PD_VDO_SVDM_VER(p[0]));
Expand Down
4 changes: 2 additions & 2 deletions include/linux/pwm.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ struct pwm_args {
};

enum {
PWMF_REQUESTED = 1 << 0,
PWMF_EXPORTED = 1 << 1,
PWMF_REQUESTED = 0,
PWMF_EXPORTED = 1,
};

/*
Expand Down
1 change: 1 addition & 0 deletions include/linux/sunrpc/clnt.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ struct rpc_clnt {
};
const struct cred *cl_cred;
unsigned int cl_max_connect; /* max number of transports not to the same IP */
struct super_block *pipefs_sb;
};

/*
Expand Down
5 changes: 4 additions & 1 deletion net/sunrpc/clnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ static void rpc_clnt_remove_pipedir(struct rpc_clnt *clnt)

pipefs_sb = rpc_get_sb_net(net);
if (pipefs_sb) {
__rpc_clnt_remove_pipedir(clnt);
if (pipefs_sb == clnt->pipefs_sb)
__rpc_clnt_remove_pipedir(clnt);
rpc_put_sb_net(net);
}
}
Expand Down Expand Up @@ -151,6 +152,8 @@ rpc_setup_pipedir(struct super_block *pipefs_sb, struct rpc_clnt *clnt)
{
struct dentry *dentry;

clnt->pipefs_sb = pipefs_sb;

if (clnt->cl_program->pipe_dir_name != NULL) {
dentry = rpc_setup_pipedir_sb(pipefs_sb, clnt);
if (IS_ERR(dentry))
Expand Down
Loading