]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/s390/net/qeth_core_main.c
s390/qeth: fix up ssqd tracing
[karo-tx-linux.git] / drivers / s390 / net / qeth_core_main.c
index 315d8a2db7c066a0b8eb3739021edc9fde698c19..510947b1fee49839440085e97059066b3e092f56 100644 (file)
@@ -3837,6 +3837,7 @@ EXPORT_SYMBOL_GPL(qeth_get_elements_for_frags);
  * @card:                      qeth card structure, to check max. elems.
  * @skb:                       SKB address
  * @extra_elems:               extra elems needed, to check against max.
+ * @data_offset:               range starts at skb->data + data_offset
  *
  * Returns the number of pages, and thus QDIO buffer elements, needed to cover
  * skb data, including linear part and fragments. Checks if the result plus
@@ -3844,10 +3845,10 @@ EXPORT_SYMBOL_GPL(qeth_get_elements_for_frags);
  * Note: extra_elems is not included in the returned result.
  */
 int qeth_get_elements_no(struct qeth_card *card,
-                    struct sk_buff *skb, int extra_elems)
+                    struct sk_buff *skb, int extra_elems, int data_offset)
 {
        int elements = qeth_get_elements_for_range(
-                               (addr_t)skb->data,
+                               (addr_t)skb->data + data_offset,
                                (addr_t)skb->data + skb_headlen(skb)) +
                        qeth_get_elements_for_frags(skb);
 
@@ -4774,12 +4775,10 @@ static int qeth_query_card_info(struct qeth_card *card,
 
 static inline int qeth_get_qdio_q_format(struct qeth_card *card)
 {
-       switch (card->info.type) {
-       case QETH_CARD_TYPE_IQD:
-               return 2;
-       default:
-               return 0;
-       }
+       if (card->info.type == QETH_CARD_TYPE_IQD)
+               return QDIO_IQDIO_QFMT;
+       else
+               return QDIO_QETH_QFMT;
 }
 
 static void qeth_determine_capabilities(struct qeth_card *card)
@@ -4818,8 +4817,9 @@ static void qeth_determine_capabilities(struct qeth_card *card)
                QETH_DBF_TEXT_(SETUP, 2, "6err%d", rc);
 
        QETH_DBF_TEXT_(SETUP, 2, "qfmt%d", card->ssqd.qfmt);
-       QETH_DBF_TEXT_(SETUP, 2, "%d", card->ssqd.qdioac1);
-       QETH_DBF_TEXT_(SETUP, 2, "%d", card->ssqd.qdioac3);
+       QETH_DBF_TEXT_(SETUP, 2, "ac1:%02x", card->ssqd.qdioac1);
+       QETH_DBF_TEXT_(SETUP, 2, "ac2:%04x", card->ssqd.qdioac2);
+       QETH_DBF_TEXT_(SETUP, 2, "ac3:%04x", card->ssqd.qdioac3);
        QETH_DBF_TEXT_(SETUP, 2, "icnt%d", card->ssqd.icnt);
        if (!((card->ssqd.qfmt != QDIO_IQDIO_QFMT) ||
            ((card->ssqd.qdioac1 & CHSC_AC1_INITIATE_INPUTQ) == 0) ||