From: Heiko Carstens Signed-off-by: Heiko Carstens Acked-by: Ingo Molnar Signed-off-by: Andrew Morton --- drivers/s390/net/qeth_main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff -puN drivers/s390/net/qeth_main.c~lockdep-avoid-false-positive-illegal-lock-usage-message-in-qeth-driver drivers/s390/net/qeth_main.c --- a/drivers/s390/net/qeth_main.c~lockdep-avoid-false-positive-illegal-lock-usage-message-in-qeth-driver +++ a/drivers/s390/net/qeth_main.c @@ -85,6 +85,8 @@ static debug_info_t *qeth_dbf_qerr = NUL DEFINE_PER_CPU(char[256], qeth_dbf_txt_buf); +static struct lockdep_type_key qdio_out_skb_queue_key; + /** * some more definitions and declarations */ @@ -3230,6 +3232,9 @@ qeth_alloc_qdio_buffers(struct qeth_card &card->qdio.out_qs[i]->qdio_bufs[j]; skb_queue_head_init(&card->qdio.out_qs[i]->bufs[j]. skb_list); + lockdep_reinit_key( + &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); } } @@ -5275,6 +5280,7 @@ qeth_free_vlan_buffer(struct qeth_card * struct sk_buff_head tmp_list; skb_queue_head_init(&tmp_list); + lockdep_reinit_key(&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) && _