git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
drivers
/
s390
/
net
/
lcs.h
diff --git
a/drivers/s390/net/lcs.h
b/drivers/s390/net/lcs.h
index
44cf990
..
bd3fee0
100644
(file)
--- a/
drivers/s390/net/lcs.h
+++ b/
drivers/s390/net/lcs.h
@@
-6,7
+6,7
@@
#include <linux/workqueue.h>
#include <asm/ccwdev.h>
#include <linux/workqueue.h>
#include <asm/ccwdev.h>
-#define VERSION_LCS_H "$Revision: 1.1
7
$"
+#define VERSION_LCS_H "$Revision: 1.1
8
$"
#define LCS_DBF_TEXT(level, name, text) \
do { \
#define LCS_DBF_TEXT(level, name, text) \
do { \
@@
-152,6
+152,12
@@
enum lcs_dev_states {
DEV_STATE_RECOVER,
};
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
*/
/**
* LCS struct declarations
*/
@@
-247,9
+253,11
@@
struct lcs_buffer {
struct lcs_reply {
struct list_head list;
__u16 sequence_no;
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;
/* 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;
};
int received;
int rc;
};
@@
-268,6
+276,7
@@
struct lcs_channel {
int buf_idx;
};
int buf_idx;
};
+
/**
* definition of the lcs card
*/
/**
* definition of the lcs card
*/
@@
-287,7
+296,11
@@
struct lcs_card {
int lancmd_timeout;
struct work_struct kernel_thread_starter;
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;
#ifdef CONFIG_IP_MULTICAST
struct list_head ipm_list;