Drivers: hv: vmbus: Remove unused code to check for subchannels
The last caller of vmbus_are_subchannels_present() was removed in commit c967590457ca ("scsi: storvsc: Fix a race in sub-channel creation that can cause panic"). Remove this dead code, and the utility function invoke_sc_cb() that it is the only caller of. Signed-off-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/1635191674-34407-1-git-send-email-mikelley@microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
parent
9a8797722e
commit
20cf6616cc
@ -1581,21 +1581,6 @@ cleanup:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void invoke_sc_cb(struct vmbus_channel *primary_channel)
|
|
||||||
{
|
|
||||||
struct list_head *cur, *tmp;
|
|
||||||
struct vmbus_channel *cur_channel;
|
|
||||||
|
|
||||||
if (primary_channel->sc_creation_callback == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
list_for_each_safe(cur, tmp, &primary_channel->sc_list) {
|
|
||||||
cur_channel = list_entry(cur, struct vmbus_channel, sc_list);
|
|
||||||
|
|
||||||
primary_channel->sc_creation_callback(cur_channel);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void vmbus_set_sc_create_callback(struct vmbus_channel *primary_channel,
|
void vmbus_set_sc_create_callback(struct vmbus_channel *primary_channel,
|
||||||
void (*sc_cr_cb)(struct vmbus_channel *new_sc))
|
void (*sc_cr_cb)(struct vmbus_channel *new_sc))
|
||||||
{
|
{
|
||||||
@ -1603,25 +1588,6 @@ void vmbus_set_sc_create_callback(struct vmbus_channel *primary_channel,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(vmbus_set_sc_create_callback);
|
EXPORT_SYMBOL_GPL(vmbus_set_sc_create_callback);
|
||||||
|
|
||||||
bool vmbus_are_subchannels_present(struct vmbus_channel *primary)
|
|
||||||
{
|
|
||||||
bool ret;
|
|
||||||
|
|
||||||
ret = !list_empty(&primary->sc_list);
|
|
||||||
|
|
||||||
if (ret) {
|
|
||||||
/*
|
|
||||||
* Invoke the callback on sub-channel creation.
|
|
||||||
* This will present a uniform interface to the
|
|
||||||
* clients.
|
|
||||||
*/
|
|
||||||
invoke_sc_cb(primary);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(vmbus_are_subchannels_present);
|
|
||||||
|
|
||||||
void vmbus_set_chn_rescind_callback(struct vmbus_channel *channel,
|
void vmbus_set_chn_rescind_callback(struct vmbus_channel *channel,
|
||||||
void (*chn_rescind_cb)(struct vmbus_channel *))
|
void (*chn_rescind_cb)(struct vmbus_channel *))
|
||||||
{
|
{
|
||||||
|
@ -1106,19 +1106,6 @@ void vmbus_set_sc_create_callback(struct vmbus_channel *primary_channel,
|
|||||||
void vmbus_set_chn_rescind_callback(struct vmbus_channel *channel,
|
void vmbus_set_chn_rescind_callback(struct vmbus_channel *channel,
|
||||||
void (*chn_rescind_cb)(struct vmbus_channel *));
|
void (*chn_rescind_cb)(struct vmbus_channel *));
|
||||||
|
|
||||||
/*
|
|
||||||
* Check if sub-channels have already been offerred. This API will be useful
|
|
||||||
* when the driver is unloaded after establishing sub-channels. In this case,
|
|
||||||
* when the driver is re-loaded, the driver would have to check if the
|
|
||||||
* subchannels have already been established before attempting to request
|
|
||||||
* the creation of sub-channels.
|
|
||||||
* This function returns TRUE to indicate that subchannels have already been
|
|
||||||
* created.
|
|
||||||
* This function should be invoked after setting the callback function for
|
|
||||||
* sub-channel creation.
|
|
||||||
*/
|
|
||||||
bool vmbus_are_subchannels_present(struct vmbus_channel *primary);
|
|
||||||
|
|
||||||
/* The format must be the same as struct vmdata_gpa_direct */
|
/* The format must be the same as struct vmdata_gpa_direct */
|
||||||
struct vmbus_channel_packet_page_buffer {
|
struct vmbus_channel_packet_page_buffer {
|
||||||
u16 type;
|
u16 type;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user