Commit e92f1d60 authored by Frank Pavlic's avatar Frank Pavlic Committed by Linus Torvalds

[PATCH] s390: lcs network driver

lcs network driver changes:
 - Allocate the reply structure instead of taking it from the stack.
 - Use del_timer_sync instead of del_timer.
 - Clean up helper threads creation/shutdown.
 - Split lcs_register_mc_addresses to make it readable again.
 - Free multicast list entries when device is going down.
 - Retransmit multicast list in device recovery.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c3b4df71
This diff is collapsed.
......@@ -6,7 +6,7 @@
#include <linux/workqueue.h>
#include <asm/ccwdev.h>
#define VERSION_LCS_H "$Revision: 1.17 $"
#define VERSION_LCS_H "$Revision: 1.18 $"
#define LCS_DBF_TEXT(level, name, text) \
do { \
......@@ -152,6 +152,12 @@ enum lcs_dev_states {
DEV_STATE_RECOVER,
};
enum lcs_threads {
LCS_SET_MC_THREAD = 1,
LCS_STARTLAN_THREAD = 2,
LCS_STOPLAN_THREAD = 4,
LCS_STARTUP_THREAD = 8,
};
/**
* LCS struct declarations
*/
......@@ -247,9 +253,11 @@ struct lcs_buffer {
struct lcs_reply {
struct list_head list;
__u16 sequence_no;
atomic_t refcnt;
/* Callback for completion notification. */
void (*callback)(struct lcs_card *, struct lcs_cmd *);
wait_queue_head_t wait_q;
struct lcs_card *card;
int received;
int rc;
};
......@@ -268,6 +276,7 @@ struct lcs_channel {
int buf_idx;
};
/**
* definition of the lcs card
*/
......@@ -287,7 +296,11 @@ struct lcs_card {
int lancmd_timeout;
struct work_struct kernel_thread_starter;
unsigned long thread_mask;
spinlock_t mask_lock;
unsigned long thread_start_mask;
unsigned long thread_running_mask;
unsigned long thread_allowed_mask;
wait_queue_head_t wait_q;
#ifdef CONFIG_IP_MULTICAST
struct list_head ipm_list;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment