summaryrefslogtreecommitdiffstats
path: root/drivers/s390/net/qeth_core.h
diff options
context:
space:
mode:
authorJulian Wiedmann2019-03-28 16:39:27 +0100
committerDavid S. Miller2019-03-28 20:57:24 +0100
commit48ce6f89fcb10fa73622c71e455645a9d59a1aa2 (patch)
tree3898fbc3bd090c020fbf727ada8b902888a8efbd /drivers/s390/net/qeth_core.h
parents390/qeth: let qeth_notify_reply() set the notify reason (diff)
downloadkernel-qcow2-linux-48ce6f89fcb10fa73622c71e455645a9d59a1aa2.tar.gz
kernel-qcow2-linux-48ce6f89fcb10fa73622c71e455645a9d59a1aa2.tar.xz
kernel-qcow2-linux-48ce6f89fcb10fa73622c71e455645a9d59a1aa2.zip
s390/qeth: use callback to finalize cmd
To avoid concurrency issues, some parts of the cmd setup are delayed until qeth_send_control_data() holds the IO channel's irq_pending "lock". Rather than hard-coding those setup steps for each cmd type, have the cmd provide a callback. This will make it easier to also issue IDX commands via qeth_send_control_data(). Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_core.h')
-rw-r--r--drivers/s390/net/qeth_core.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h
index 30772d4abcbc..9495ba74404d 100644
--- a/drivers/s390/net/qeth_core.h
+++ b/drivers/s390/net/qeth_core.h
@@ -589,6 +589,8 @@ struct qeth_cmd_buffer {
struct qeth_reply *reply;
long timeout;
unsigned char *data;
+ void (*finalize)(struct qeth_card *card, struct qeth_cmd_buffer *iob,
+ unsigned int length);
void (*callback)(struct qeth_card *card, struct qeth_channel *channel,
struct qeth_cmd_buffer *iob);
};
@@ -991,8 +993,6 @@ void qeth_clear_qdio_buffers(struct qeth_card *);
void qeth_setadp_promisc_mode(struct qeth_card *);
int qeth_setadpparms_change_macaddr(struct qeth_card *);
void qeth_tx_timeout(struct net_device *);
-void qeth_prepare_control_data(struct qeth_card *, int,
- struct qeth_cmd_buffer *);
void qeth_release_buffer(struct qeth_channel *, struct qeth_cmd_buffer *);
void qeth_prepare_ipa_cmd(struct qeth_card *card, struct qeth_cmd_buffer *iob,
u16 cmd_length);