diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2006-07-03 00:25:26 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-03 15:27:09 -0700 | 
| commit | 91ebe2a9320db7195d1e25152b5d158fc66dc133 (patch) | |
| tree | daed7fa1d7ce173ac2c423baf3247b88399b239c /drivers/s390 | |
| parent | 60be6b9a41cb0da0df7a9f11486da56baebf04cd (diff) | |
| download | linux-91ebe2a9320db7195d1e25152b5d158fc66dc133.tar.bz2 | |
[PATCH] lockdep: annotate qeth driver
Annotate the qeth driver which uses a private skb-queue-head that is safely
used in hardirq context too.
Has no effect on non-lockdep kernels.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/s390')
| -rw-r--r-- | drivers/s390/net/qeth_main.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 36733b9823c6..8e8963f15731 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c @@ -84,6 +84,8 @@ static debug_info_t *qeth_dbf_qerr = NULL;  DEFINE_PER_CPU(char[256], qeth_dbf_txt_buf); +static struct lock_class_key qdio_out_skb_queue_key; +  /**   * some more definitions and declarations   */ @@ -3229,6 +3231,9 @@ qeth_alloc_qdio_buffers(struct qeth_card *card)  				&card->qdio.out_qs[i]->qdio_bufs[j];  			skb_queue_head_init(&card->qdio.out_qs[i]->bufs[j].  					    skb_list); +			lockdep_set_class( +				&card->qdio.out_qs[i]->bufs[j].skb_list.lock, +				&qdio_out_skb_queue_key);  			INIT_LIST_HEAD(&card->qdio.out_qs[i]->bufs[j].ctx_list);  		}  	} @@ -5272,6 +5277,7 @@ qeth_free_vlan_buffer(struct qeth_card *card, struct qeth_qdio_out_buffer *buf,  	struct sk_buff_head tmp_list;  	skb_queue_head_init(&tmp_list); +	lockdep_set_class(&tmp_list.lock, &qdio_out_skb_queue_key);  	for(i = 0; i < QETH_MAX_BUFFER_ELEMENTS(card); ++i){  		while ((skb = skb_dequeue(&buf->skb_list))){  			if (vlan_tx_tag_present(skb) && |