mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "D. Starke" <daniel.starke@siemens.com>
To: linux-serial@vger.kernel.org, gregkh@linuxfoundation.org,
	jirislaby@kernel.org, ilpo.jarvinen@linux.intel.com
Cc: linux-kernel@vger.kernel.org, Daniel Starke <daniel.starke@siemens.com>
Subject: [PATCH v6 6/9] tty: n_gsm: increase gsm_mux unsupported counted where appropriate
Date: Thu, 17 Aug 2023 11:32:28 +0200	[thread overview]
Message-ID: <20230817093231.2317-6-daniel.starke@siemens.com> (raw)
In-Reply-To: <20230817093231.2317-1-daniel.starke@siemens.com>

From: Daniel Starke <daniel.starke@siemens.com>

The structure gsm_mux contains the 'unsupported' field. However, there is
currently no place in the code which increases this counter.

Increase the 'unsupported' statistics counter in the following case:
- an unsupported frame type has been requested by the peer via parameter
  negotiation
- a control frame with an unsupported but known command has been received

Note that we have no means to detect an inconsistent/unsupported adaptation
sufficient accuracy as this changes the structure of the UI/UIH frames.
E.g. a one byte header is added in case of convergence layer type 2 instead
of 1 and contains the modem signal octet with the state of the signal
lines. There is no checksum or other value which indicates of this field is
correct or should be present. Therefore, we can only assume protocol
correctness here. See also 'gsm_dlci_data()' where this is handled.

Signed-off-by: Daniel Starke <daniel.starke@siemens.com>
---
 drivers/tty/n_gsm.c | 3 +++
 1 file changed, 3 insertions(+)

v5 -> v6:
No changes.

Link: https://lore.kernel.org/all/20230517155704.5701-6-daniel.starke@siemens.com/

diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 18f022f75831..8b8f5187c6bb 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -1590,6 +1590,7 @@ static int gsm_process_negotiation(struct gsm_mux *gsm, unsigned int addr,
 		if (debug & DBG_ERRORS)
 			pr_info("%s unsupported I frame request in PN\n",
 				__func__);
+		gsm->unsupported++;
 		return -EINVAL;
 	default:
 		if (debug & DBG_ERRORS)
@@ -1897,6 +1898,8 @@ static void gsm_control_message(struct gsm_mux *gsm, unsigned int command,
 		/* Optional unsupported commands */
 	case CMD_RPN:	/* Remote port negotiation */
 	case CMD_SNC:	/* Service negotiation command */
+		gsm->unsupported++;
+		fallthrough;
 	default:
 		/* Reply to bad commands with an NSC */
 		buf[0] = command;
-- 
2.34.1


  parent reply	other threads:[~2023-08-17  9:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-17  9:32 [PATCH v6 1/9] tty: n_gsm: add restart flag to DLC specific ioctl config D. Starke
2023-08-17  9:32 ` [PATCH v6 2/9] tty: n_gsm: add missing description to structs in gsmmux.h D. Starke
2023-08-17  9:32 ` [PATCH v6 3/9] tty: n_gsm: remove unneeded initialization of ret in gsm_dlci_config D. Starke
2023-08-17  9:32 ` [PATCH v6 4/9] tty: n_gsm: add open_error counter to gsm_mux D. Starke
2023-08-17  9:32 ` [PATCH v6 5/9] tty: n_gsm: increase malformed counter for malformed control frames D. Starke
2023-08-17  9:32 ` D. Starke [this message]
2023-08-17  9:32 ` [PATCH v6 7/9] tty: n_gsm: cleanup gsm_control_command and gsm_control_reply D. Starke
2023-08-17  9:32 ` [PATCH v6 8/9] tty: n_gsm: add DLCI specific rx/tx statistics D. Starke
2023-08-22 13:04   ` Greg KH
2023-08-17  9:32 ` [PATCH v6 9/9] tty: n_gsm: add restart flag to extended ioctl config D. Starke
2023-08-22 13:05 ` [PATCH v6 1/9] tty: n_gsm: add restart flag to DLC specific " Greg KH
2023-08-22 13:05   ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230817093231.2317-6-daniel.starke@siemens.com \
    --to=daniel.starke@siemens.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®