From patchwork Thu Jul 11 16:46:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730864 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F14B418635 for ; Thu, 11 Jul 2024 16:46:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716418; cv=none; b=EWOCqITbRU7a8HeCEmDIgWrsRAaxlFeVNXLBxbeVoQPJaLHf/rpq/2jZhaSya+Y3zOlHJVTbElaaLJlH54NFiGW5vSCifJ51hwqHOb1CQpzxlzzr7P8o52Et2hk0MiEJerYl6enqG8eU+LOb45TK3T9tC1HeHqf128nqiN9SSxE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716418; c=relaxed/simple; bh=l1huZGrmXqn0UMA7l8WGq0/+fA6GNTo/pOOC3qpVgfg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mGDzaYOQ6X9c3lCRxElTXFpK/rAozY170krFQO6JFEg+0jqyA80/X3WonrWLLmHR+FRpcynodRilMCJvGy0XwmJ8i5geJrbmw25D40f8q8r4T1uhZfSrThMjXyZ0nFd58wGwyeV02UomkdFfD+lgra5YFxGFffIGrH8ew4AFdGs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jjk+XtFp; arc=none smtp.client-ip=209.85.166.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jjk+XtFp" Received: by mail-io1-f41.google.com with SMTP id ca18e2360f4ac-7f97e794f34so45358739f.3 for ; Thu, 11 Jul 2024 09:46:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716416; x=1721321216; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=YFCzeO+ozKDPkkyLFJiavIOkviiiJC4MdbLNaDE2pvY=; b=jjk+XtFpWzbOXdDIaVmmLKZX1q/H1fgVzgPgAbBUQGixgi99i0BA/6vrq0PFsjNOw2 2xrbzr/3PbwsH48lM4mo52nDy4A4y1ncOwzYyH4TAmfcZNAATwLGJowU8O6SYUM/lj6V ZUHCY/njsihXqc6QKwVvCjxOYtGPROEiXpN0O0kCbcUIxN6XUUWKdBLKVrxxf57nUMZs Esk3tprnjb5ztVwELBlNPudg88xbS4NXzCeY/YgCnqlcf1eFrje+bwjqg7Chy7QG9J3/ fB1yORY4eMkO0ng+8yhOAT2nc2HrMOxgAaouP3ItW2yQKVNO3JLFi2HSmVavEmVT7RoK gqKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716416; x=1721321216; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YFCzeO+ozKDPkkyLFJiavIOkviiiJC4MdbLNaDE2pvY=; b=sKc8sMfqJX6R5SRvUkNTA/DmCSJ3OS2Zc2FB6EqsqIqyjlfpRijY4efDrJKuztyEpz Iowzj/luKxzKqkcjPp9Flse+6yJbf34WcYYNR8rD/LExNDHF3XIbRV15vpz25qZwcuM1 EmXewi4Bc59hMra61CX6kNAE/Fk7zqET0Z+sCJGYtR0loqWcByUMop8b5wJGQk56zGZo q87RO0jGRBal9W/6g4EQwfk6OWKVvqYsIKrcDJl5Sic8SQ2hpnQfLYvPHN/e8iI2w678 Yc4vizPyqJ5aVDRnFjrZ6jvIVbEVMAklDxOcV/3zGQlFZ9y2s1xwh8ktsyxS07jaEj9M 8+Og== X-Gm-Message-State: AOJu0YySNPbJhcHPv0RAB1uy4XQUXc43JUJxboN+Sh1R9PVS9mKts7cw XDv+KoRlV4u/j99LoGZZoJ8mKkXI49UawaOYPa0nErgykMvI9HAvtO+ONQ== X-Google-Smtp-Source: AGHT+IEHLcxa/2aewW5tLAdGD1MNJcxzLSyi/iGtdlpvs+vELeV/imCk1R3q8uBImn2AeZCt0PRvFw== X-Received: by 2002:a5d:8708:0:b0:7fa:d16f:82f7 with SMTP id ca18e2360f4ac-80004173dfcmr949542439f.19.1720716415912; Thu, 11 Jul 2024 09:46:55 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:55 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Steve Schrock Subject: [PATCH v2 01/11] udevng: Remove gps from setup_gobi Date: Thu, 11 Jul 2024 11:46:18 -0500 Message-ID: <20240711164654.1688558-1-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Steve Schrock Even when the gps variable was set, it was not actually used for anything. --- plugins/udevng.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/plugins/udevng.c b/plugins/udevng.c index 8e116c6605ea..1c56e2ea62d3 100644 --- a/plugins/udevng.c +++ b/plugins/udevng.c @@ -355,7 +355,6 @@ static gboolean setup_gobi(struct modem_info *modem) { const struct device_info *qmi = NULL; const struct device_info *net = NULL; - const char *gps = NULL; GSList *list; DBG("%s", modem->syspath); @@ -373,23 +372,12 @@ static gboolean setup_gobi(struct modem_info *modem) qmi = info; else if (g_strcmp0(subsystem, "net") == 0) /* wwan */ net = info; - else if (g_strcmp0(subsystem, "tty") == 0) { - if (g_strcmp0(info->interface, "255/255/255") == 0) { - if (g_strcmp0(info->number, "03") == 0) - gps = info->devnode; /* gobi */ - } else if (g_strcmp0(info->interface, "255/0/0") == 0) { - if (g_strcmp0(info->number, "01") == 0) - gps = info->devnode; /* ec20 */ - /* ignore the 3rd device second AT/mdm iface */ - } - } } if (qmi == NULL || net == NULL) return FALSE; - DBG("qmi=%s net=%s gps=%s", - qmi->devnode, get_ifname(net), gps); + DBG("qmi=%s net=%s", qmi->devnode, get_ifname(net)); if (setup_qmi_qmux(modem, qmi, net) < 0) return FALSE; From patchwork Thu Jul 11 16:46:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730865 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EAA22BD0D for ; Thu, 11 Jul 2024 16:46:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716419; cv=none; b=WqfPisdWYITjMcaOBm30MdAHVQw/A9Ni2uXqxr7ngk4JwuphGE0b60Rje0yPK8CsN3l7sWh2eU100/cSGI+71tOC8L+gLD4saJ7T+d8EAxH8PsmQ7YDsURxU5wC3uuK+o4pd6i0qqSuwn2hVeewNFw9m0yDRFAlxmziIMhN4DHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716419; c=relaxed/simple; bh=wfPyMVc1no48+4NSXQvYmejdCnpmG5oYN9pZDboeeWQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d3Sl6D7IUEenGlV7eCA28/rANtvnP2EOhUzP6Gq1xBZcvKezC3inPTDjQVEVBwjwIL3bhBQLcZbaezvZB8y5NUyftNJj/bmf+TyAMPwEtVf47bIBL7ld8OoCDkPSoh9F4ZJkov1vgXfnPOYEvRgDwqCPhYkHfj7bmfLwEKV33Fo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=i9mLTYrL; arc=none smtp.client-ip=209.85.166.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="i9mLTYrL" Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-7f684710ff5so39260539f.1 for ; Thu, 11 Jul 2024 09:46:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716416; x=1721321216; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LO6WYGzE8exszVB8f0IkjMEpM9McoNa/R/qKXAw7geU=; b=i9mLTYrLG+zxMV/I7S1/VXQbjrDNv0Ky/BZf1hkUJmVYSaFsV2qXxBGB7mV2cgq0yt 1wA5TyyRPvdRKEw2auv+V3v8L7370Oe3glZqK908In2QyROwWfmdLc1ouz7aQ8LtScH2 QUlU1G0a07gkiYokdvfbgrhy+AUirBw2jmnJAk+g0hcQyLGhZgUkt8N4rQHm8Qp6h9OY AYLLdMLTwS5Q43CcyDp29MQGJ3ArR3OMZj46N9or/GUn0k0LH7SgvyV+pdyB4l+ru1G+ 00X7OFma2TIB2NkYlRjDglg36mYS07jYdWTyX6cwkOCWnLCPDwOY3vPuzCgF2KNVXx58 zHwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716416; x=1721321216; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LO6WYGzE8exszVB8f0IkjMEpM9McoNa/R/qKXAw7geU=; b=crkk6toUI4BjArAjT4XA/uBHuC1t1K/IlvFKBBjPASNtsKu8HDurJ/iDksreKcvUh5 a4jsFDS8U1ql7Oi5/NE0iBtTr2aY+dSDI00VurB+L8YIbADHUQuwXWLu/e63QnNHBZuc kqmhIY9hq3VEv6GYWBT9R6iBEDl76NiT+79nTyFdnt1ExPsq4JiX1eCo7UhYsxf7jS3D HgjMUKFCBOtsXnSdHsHXhAuxK03aeW59bdkNWtYA8oVYQp1WwM3zIBdSOTfDCf0VSApP 7ReoytNi/86zFw1YdY+mZXxc61UrlyMEoBGonoWGMOlarnw+lIUr1n/zzsdNIoS+HE8i vt2w== X-Gm-Message-State: AOJu0YxbRLsh1+5HDoB4N/zT16uLMtIZrWe8kqRVfPvWlJhOOopOT87T uhCRxV5w5ob1I72gZLtNyYwzQjlhPKwfyQv6Ja8YWTRAGW5RMZWcaI6D0g== X-Google-Smtp-Source: AGHT+IEl9HkABgofm5L+vuQBvrfzw0J4ZnbP6fQkiqhQGOkQfJgyDfma1rv7H0xgnTOxPx6FMROuyg== X-Received: by 2002:a6b:cf08:0:b0:7f9:510b:6078 with SMTP id ca18e2360f4ac-8098d903444mr12819339f.4.1720716416547; Thu, 11 Jul 2024 09:46:56 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:56 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Marcel Holtmann Subject: [PATCH v2 02/11] build: Require at least version 0.67 when building with external ELL Date: Thu, 11 Jul 2024 11:46:19 -0500 Message-ID: <20240711164654.1688558-2-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Marcel Holtmann --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index b14ed9e99c56..c0053df840ae 100644 --- a/configure.ac +++ b/configure.ac @@ -247,8 +247,8 @@ AC_ARG_ENABLE([external_ell], AS_HELP_STRING([--enable-external-ell], [enable external Embedded Linux library]), [enable_external_ell=${enableval}]) if (test "${enable_external_ell}" = "yes"); then - PKG_CHECK_MODULES(ELL, ell >= 0.66, dummy=yes, - AC_MSG_ERROR(Embedded Linux library >= 0.66 is required)) + PKG_CHECK_MODULES(ELL, ell >= 0.67, dummy=yes, + AC_MSG_ERROR(Embedded Linux library >= 0.67 is required)) AC_SUBST(ELL_CFLAGS) AC_SUBST(ELL_LIBS) fi From patchwork Thu Jul 11 16:46:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730866 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D4D0381AD for ; Thu, 11 Jul 2024 16:46:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716419; cv=none; b=bU7sXOcjHm+8P1bbnG4iT3jmfOwMxlvvCWSGvyf2eHchYovSly9GyHjUqWCs57kFLTgDVzCpD5gQN8q4pXB3AjT97cGOGFwQP1mwptVdU4TAjNgZdKm2/6HBP8C+MnSzMcmNzfEU3hjKN3rO+K3ema4vMv8LUdKJGgnqay/Hn4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716419; c=relaxed/simple; bh=9OfMbmefocTxz1r7FICxk+Xr2SRJJDI01xA41kQE6VI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a/UNDNICz1lbSaGq74A5GqVH3E7vwP1CQrB+CCJjHoLm/krr3kWzVLdpew53tst0Vxnjh3qLXSkZe+RS4Snzqyk0Up1GEHxxHGs4ayR/j5wEPk0WkPU/jMouV/rhoZFQD4AawT9LHeCW9wKDmTOiIP0zZF6XReHG8gizrG7KlOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CLKDEvH/; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CLKDEvH/" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-8076ef91d8eso39196239f.1 for ; Thu, 11 Jul 2024 09:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716417; x=1721321217; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HK16Ten5060hKFG+A3AC2gAnT+Mo/NguIgnK/IBd7cU=; b=CLKDEvH/gEhjc8jfahpQfAA0VHf50+C0g59NYrgrM5Jq1WKc5i5iCOIwA0koBjwMrx kn7nGO+PTy8MlqcF89RoQ6Yr8aEgQwjJVYBD9z7+4Z0kPPZvrZVuMgKrjEtAinuQBmwb GpFJPGRkgpE8JxwOyV6AH/6oWRl+Zy0Y29Uy50Soc838q2J/RuX9MitjArbn/Em4CZiz D7XF7Vqxe9zGNFlOH3IF9zH9OjiP26dlrRD/R83n/cbiy2h2y8Eg7crqqdbkUhDQJRGV DXej4Vu6duUeQR+VK2uT2ra3PaHddce19m7XL80ObsrpMsjhn/xJPFTigec7v1NaaW3/ GIvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716417; x=1721321217; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HK16Ten5060hKFG+A3AC2gAnT+Mo/NguIgnK/IBd7cU=; b=q8dXHxcTi1jey9D7c/3ja17+XQItKVrsU6h7hZcwBdOYSjalM5D0UIXBRIyb0uABxI ozgIszXeoFdu4NFPcE9cRRJgs4zdNuya3ofJeJ4sYvTnrl/hpb3mla2vAAHznkhOuzTo jyZMoNSpRM4Zdm3Bb9FGvkaa6vT3IZE3qK9zooKcR2wXlToLovvMWDJlEFaIlEQ3BeW9 1y9MgN5xZYOdAWMK87ZLF9vfwC/hQfqys+nXpxO/SxozV2S7JQKfAzER3t2x+fVfQeC5 AmpCovPTPtqw3Fn/97HT3k82nCx9Pex6I7BhA0M2x5pi9E6RACDNHYvHxnk1tRcBBogZ ufKw== X-Gm-Message-State: AOJu0YwZdNoTHzB/NzmdAlaWhW1NeYizxa7+wvjrcxyH0D2082C4l0rZ GZyV4EwG4uSImXTyd398BqgNy7gdTxDfHwk/XdPwEQq6A5MYiuP6YduBmA== X-Google-Smtp-Source: AGHT+IEHsEzcihbHfAyA6qn4/4OjAzwJHQmUe5sxpwo9mTYXvx3PUJIWxsGffPr6n3e2BD7aUY5uiw== X-Received: by 2002:a5d:9f0e:0:b0:7f9:373f:7202 with SMTP id ca18e2360f4ac-8000192ce98mr1060858439f.10.1720716417322; Thu, 11 Jul 2024 09:46:57 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:57 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Marcel Holtmann Subject: [PATCH v2 03/11] Release 2.9 Date: Thu, 11 Jul 2024 11:46:20 -0500 Message-ID: <20240711164654.1688558-3-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Marcel Holtmann --- ChangeLog | 3 +++ configure.ac | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5d4feff7d8ae..48c6bd39bca4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +ver 2.9: + Add support for QRTR based devices (MHI bus and SoC). + ver 2.8: Fix issue with handling USB TTY device detection. Fix issue with handling GOBI versus QRTR detection. diff --git a/configure.ac b/configure.ac index c0053df840ae..3550b8a3d8e2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.69]) -AC_INIT([ofono], [2.8]) +AC_INIT([ofono], [2.9]) AC_CONFIG_HEADERS(config.h) AC_CONFIG_AUX_DIR(build-aux) From patchwork Thu Jul 11 16:46:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730867 Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DB93218635 for ; Thu, 11 Jul 2024 16:46:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716420; cv=none; b=iWDLX9MWTmm8x6w4nvogH53Ii068iV679E5F+lCKiQ6h2xaRE2To70mlPVqZMGm6e6OHB2AUWmDU58d7Aq2H69Rysqj4A57udW32N76a9XWxXLY72txaHoA0Am5T36T2MUfk7GyghwdcaegXzmSnNGDx2IcHzLoDem5+FzujRz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716420; c=relaxed/simple; bh=v0v7zU7SfV5hf7UJ7ywGy/Wso6ZtVANjHh6GDJxnbp8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FbuQqrKLUYUVFCDpCzmFzMmVB/Cedx5GgO36kbS5vOzf44hKhk8h1NqW+U1BFIIp0UbaXxT/Gw/m1b3/Ziv9fcPcTW6JArUvrW1Tkcad/a5y08GaeeHUZ28f2EFJftMzc0bOMA1KT9cail2wA1sJpubemN5EF67QgvQYF7GQ9ds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bicZ9TCD; arc=none smtp.client-ip=209.85.166.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bicZ9TCD" Received: by mail-io1-f45.google.com with SMTP id ca18e2360f4ac-8036ce66164so41661339f.3 for ; Thu, 11 Jul 2024 09:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716418; x=1721321218; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iiE7/RanaIDCqOfIBMI4yOLghOxvZGR+2aVfftt5bCU=; b=bicZ9TCDH7tJCMc8C1XI3dAnh3quHEFrNS1fWs2W+uExX5xxRy2f9DW858PrzjH9XM m/5BdlIs6cBPO+NZWOmjxt3p7M1kq/UnBY13xEeDTXP8SnQ2w++LhH00NEboJfQtKSMG ZF28Ef5ZMbFsVxLQ+D04AJS4Dua4oDzEl7xleLzqR/qjx/jSQLD2ASAFlQoHyHBf/1GT 0S527qVC1Kk5WeMa5xb79X283Kh8ipX9Z6C7Zj0rkn/RMlNQDOUIGmcC5H0eNyZvSB7I uMceaNOIng3yfn69Va1rboHTpqUXJ6JTTKeVT6NUEdpHm1W3eL57MXwc+Og9zlezssqz uTqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716418; x=1721321218; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iiE7/RanaIDCqOfIBMI4yOLghOxvZGR+2aVfftt5bCU=; b=jkvWupZ43sPEqxXTh9FcoApgeSd54WHHdCRIKKlqu5AnPsmBa81GIxKmpnw9oE/FhT At3V3dzAflm3U+y6QYjKTgKstm8gioBpbxjA/c3JYiwArBJ+cUjOazS3ALCiuPwu6NAg YRAcLm6/HDrYwRYogGbGx+eS92fchiGH3lfxS0FogOypfhzUjZXrI5vqpa0rU8vUDySA oTXjmBXeQUkDHrfy6nIyM5RITJlyfaPto35QvS3td+27fFnklA89mhKKc0ImAkcPLQeg WUsHacI49k3CtpgQmkuFfBVjK8jkcCf6oe/Ur5jvoA4ebbeu8ZjNjGl/jVQMO73krBcV foQA== X-Gm-Message-State: AOJu0Yyt+iDMOB3dsKALmXwg2Xtz4xVmmW8rdHDvl2ZVqdnKSYO8ino/ tsRNOoLpew7YLH2sPuZ93xKXbAYWMXF2JSN9ppdXdg1bTmcBT/HJnthPDg== X-Google-Smtp-Source: AGHT+IF7I1gvW0sBFvF0zcJEIb3w08xXeuOj4eMXtIsgrH+m3Duo+c6d6cYfidWVeYqIp0dHN3vdqw== X-Received: by 2002:a05:6602:1512:b0:7f6:8636:f89d with SMTP id ca18e2360f4ac-7fffece156dmr1350945339f.3.1720716417956; Thu, 11 Jul 2024 09:46:57 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:57 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 04/11] gobi: Limit number of premultiplexed contexts to 4 Date: Thu, 11 Jul 2024 11:46:21 -0500 Message-ID: <20240711164654.1688558-4-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 4 was chosen somewhat arbitrarily, but it is the maximum that the qmi_wwan_q driver can support out of the box. The only limit is the number of clients under QMI. Two WDS clients are typically required for each active context, one for IPv4 and one for IPv6. The total number of clients cannot exceed 255 (uint8). --- plugins/gobi.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/gobi.c b/plugins/gobi.c index 88e4c7fc4887..b6df849de47e 100644 --- a/plugins/gobi.c +++ b/plugins/gobi.c @@ -55,6 +55,8 @@ #define GOBI_VOICE (1 << 6) #define GOBI_WDA (1 << 7) +#define MAX_CONTEXTS 4 + struct service_request { struct qmi_service **member; uint32_t service_type; @@ -75,6 +77,7 @@ struct gobi_data { int num_service_requests; unsigned long features; unsigned int discover_attempts; + uint8_t n_premux; uint8_t oper_mode; int main_net_ifindex; char main_net_name[IFNAMSIZ]; @@ -124,6 +127,7 @@ static int gobi_probe(struct ofono_modem *modem) const char *ifname; int ifindex; const char *bus; + int n_premux; DBG("%p", modem); @@ -132,10 +136,11 @@ static int gobi_probe(struct ofono_modem *modem) ifname = ofono_modem_get_string(modem, "NetworkInterface"); ifindex = ofono_modem_get_integer(modem, "NetworkInterfaceIndex"); bus = ofono_modem_get_string(modem, "Bus"); + n_premux = ofono_modem_get_integer(modem, "NumPremuxInterfaces"); DBG("net: %s[%s](%d) %s", ifname, if_driver, ifindex, bus); - if (!if_driver || !ifname || !ifindex || !bus) + if (!if_driver || !ifname || !ifindex || !bus || n_premux < 0) return -EPROTO; data = l_new(struct gobi_data, 1); @@ -145,6 +150,13 @@ static int gobi_probe(struct ofono_modem *modem) else if (!strcmp(if_driver, "qmi_wwan")) data->using_qmi_wwan = true; + if (n_premux > MAX_CONTEXTS) { + l_warn("NumPremuxInterfaces > %d, limiting to %d", + MAX_CONTEXTS, MAX_CONTEXTS); + n_premux = MAX_CONTEXTS; + } + + data->n_premux = n_premux; data->main_net_ifindex = ofono_modem_get_integer(modem, "NetworkInterfaceIndex"); l_strlcpy(data->main_net_name, @@ -753,7 +765,6 @@ static void gobi_pre_sim(struct ofono_modem *modem) static void gobi_setup_gprs(struct ofono_modem *modem) { struct gobi_data *data = ofono_modem_get_data(modem); - int n_premux = ofono_modem_get_integer(modem, "NumPremuxInterfaces"); struct ofono_gprs *gprs; struct ofono_gprs_context *gc; const char *interface; @@ -770,7 +781,7 @@ static void gobi_setup_gprs(struct ofono_modem *modem) } /* Simple case of 802.3 interface, no QMAP */ - if (n_premux == 0) { + if (data->n_premux == 0) { interface = ofono_modem_get_string(modem, "NetworkInterface"); gc = ofono_gprs_context_create(modem, 0, "qmimodem", -1, @@ -793,7 +804,7 @@ static void gobi_setup_gprs(struct ofono_modem *modem) ofono_modem_get_integer(modem, "MaxAggregationSize"); DBG("max_aggregation_size: %u", data->max_aggregation_size); - for (i = 0; i < n_premux; i++) { + for (i = 0; i < data->n_premux; i++) { int mux_id; sprintf(buf, "PremuxInterface%dMuxId", i + 1); From patchwork Thu Jul 11 16:46:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730868 Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB24D2BD0D for ; Thu, 11 Jul 2024 16:46:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716421; cv=none; b=rymeqNP+NNS75J9NLkDpuBc7S63NEdJd5Ml73CO8ZAnlRHr20/sigV7XtVrtF6YLqN4prwAObI9NjhN0lheZqhgNukl1E7kLEWTvaeejnUPYEk4Jfw7FR+DPBcAASDew9FwyhV8RyJP/4ji2ligUh9RpcMEa4zJbQ93Cr49/aOw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716421; c=relaxed/simple; bh=VBJdnq/Br6eI4igqVnMW/sTXg0Gzz2fZ4MEiET6TZ3E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CffTd8RtIRzvLHEy3zHdgFqjB+4adKUHbkNxrfAnde3SSBypAUDdrTe0P+8Ol9WFJsjbJ2kEFVhgIqomCy04wDjXx8hC6DZJOgkbfEELgK7zcs21t6LF2RMeI9V7+Dz7vs/ImZ6fpY/BRqUJ9avV6sQ2R3DyS50OOAvYI6BZ0J8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YFbm0Qm+; arc=none smtp.client-ip=209.85.166.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YFbm0Qm+" Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-7f97e794f34so45361039f.3 for ; Thu, 11 Jul 2024 09:46:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716418; x=1721321218; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4hFYFd2wxJVjFo1RYvq8oVkHVsdRhr45mMwFvFgqeFg=; b=YFbm0Qm+oOInNJEXb+f1xDvoRAgzXPoaZeXdISD9OQE6q5rLCivqJyp5R0ftIB7F8K xgmhQvNsxrU+By0o15QWcS/o9HBNnF9j1MpCC2w+OfR0rIhbfCPjXFwNGgy9eIX3ZDTf blJ4vQyaHg8UmDLpaOa76TSyIqrITkKksPFYNLQQcMJLDbTO5wYCzUd/Rwbw6IjoU3XW ExtNowTF/usvUkeW4A7QANJ19WQam/H4B4CWavQ/jJOn7AmRb47cdBnAfWkT3p/z7y09 q+6LrulOkZKqjY9oVg8r22NtNlf2WVOORn053GPgupq+5AlqkzPUnZPB96cuTfcoC0vo 3clA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716418; x=1721321218; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4hFYFd2wxJVjFo1RYvq8oVkHVsdRhr45mMwFvFgqeFg=; b=C6lFL7Av5tSzsy94LE38KyyWNZd93VT9K7X7l8FXvJaKyh+bJPZc/vDE1wLGUuIxAR WFLKar/JJrExIy6atRil/LJByA4KcvLuHxraSw8F0MkFy7LwgYTenZoDnWLiEPI2sj4V 8x01AMVf9hjRCvhOnkCoCTsVfY4wXYzkwCAMDTjCSaXPKSXCgLofe1hdWeGRdXFkoEqB YtKqUgsQ6+msxgF4+yqMP7//88jCRgRWAyG3bmumhDCFj+q2DUUoWmjvwT1HZXt7Y6E6 Fnqixex/OBYKzPELrX4AYoYaPtsgFFTzG7quX0TMHLL+SM9BLstMoll3tYs5PNmd4zV8 nNcw== X-Gm-Message-State: AOJu0YwHBXGyAYO6/cIsXCu1SEY1zkun3rkHXYfYMDxjv96rPi60Yuhv V1RgL85ZVxrl+JfylTDRmXnJBfFXlPC+n+6frF9hzEpIkkoMvT3urULwHw== X-Google-Smtp-Source: AGHT+IF2xT/XZRglp8tjAZo+PrMLRgn5S1qS/VhWkvvRHzpywSY09kLoX9MKFu4a+DJvdgkjRFRX4A== X-Received: by 2002:a05:6602:2819:b0:7f6:2d58:8d6a with SMTP id ca18e2360f4ac-800004e8269mr1029440239f.7.1720716418710; Thu, 11 Jul 2024 09:46:58 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:58 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 05/11] gobi: Request dedicated WDS services for contexts Date: Thu, 11 Jul 2024 11:46:22 -0500 Message-ID: <20240711164654.1688558-5-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Each context the modem supports (up to MAX_CONTEXTS) will require two dedicated WDS services. One will manage the IPv4 configuration, the other will manage IPv6 configuration. --- plugins/gobi.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/plugins/gobi.c b/plugins/gobi.c index b6df849de47e..76e1e133860d 100644 --- a/plugins/gobi.c +++ b/plugins/gobi.c @@ -72,7 +72,11 @@ struct gobi_data { struct qmi_service *voice; struct qmi_service *pds; struct qmi_service *uim; - struct service_request service_requests[16]; + struct { + struct qmi_service *wds_ipv4; + struct qmi_service *wds_ipv6; + } context_services[MAX_CONTEXTS]; + struct service_request service_requests[8 + MAX_CONTEXTS * 2]; int cur_service_request; int num_service_requests; unsigned long features; @@ -170,6 +174,8 @@ static int gobi_probe(struct ofono_modem *modem) static void cleanup_services(struct gobi_data *data) { + int i; + qmi_service_free(data->dms); data->dms = NULL; @@ -193,6 +199,13 @@ static void cleanup_services(struct gobi_data *data) qmi_service_free(data->uim); data->uim = NULL; + + for (i = 0; i < MAX_CONTEXTS; i++) { + qmi_service_free(data->context_services[i].wds_ipv4); + qmi_service_free(data->context_services[i].wds_ipv6); + } + + memset(&data->context_services, 0, sizeof(data->context_services)); } static void gobi_remove(struct ofono_modem *modem) @@ -489,6 +502,7 @@ static void discover_cb(void *user_data) struct gobi_data *data = ofono_modem_get_data(modem); uint16_t major; uint16_t minor; + int i; DBG(""); @@ -538,6 +552,13 @@ static void discover_cb(void *user_data) if (data->features & GOBI_UIM) add_service_request(data, &data->uim, QMI_SERVICE_UIM); + for (i = 0; i < (data->n_premux ? data->n_premux : 1); i++) { + add_service_request(data, &data->context_services[i].wds_ipv4, + QMI_SERVICE_WDS); + add_service_request(data, &data->context_services[i].wds_ipv6, + QMI_SERVICE_WDS); + } + if (qmi_qmux_device_create_client(data->device, QMI_SERVICE_DMS, request_service_cb, modem, NULL) > 0) return; From patchwork Thu Jul 11 16:46:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730869 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E736381AD for ; Thu, 11 Jul 2024 16:47:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716421; cv=none; b=Ojnh/18Ge+0eOleG2l8XcWYOFHfz0dK3F/uwGB8nsU5Uhcy/etK5fsc43+XcnpEcHTqR7epU6pikHFuNVfVzj8klt5Dbe+rjAvx+PP3fHePqXncF/BPGPqSGx4z6lmoRGk/ru6MCvi+FSD7p4kAoGcEK+Zc176OVdzIocGq44mo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716421; c=relaxed/simple; bh=vZemnAQx6lt/5RW9tkn97Ir7UgxKrTvGJK9H4hhc7BI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cBJLQcTxFoH0GO5o6q0X7k0Ir7eN/6RXngO3wrWi02G61x/cMHcxsnzPeVe/QeS+3XrwV2dGd1avlZzYiB6YPPxxVy8NkoSor5I7UJs49j8xqxfjfgCTHBv5JhrLu8G5Y3PpcJqP3nA2Gjzi+DwvPqSRuZ6IN6T6K1dAILuoBME= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lZQ9IeGw; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lZQ9IeGw" Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-7f70a708f54so42710239f.3 for ; Thu, 11 Jul 2024 09:47:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716419; x=1721321219; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=q2iBWS2+3c3Faezm++4qy17LkbyRGNJqin8EvtAlyAE=; b=lZQ9IeGwP+SOHgHtIxlLrG+UZDn4O/HBX5IXaULFiJgLrR6vXe8ynyQliMQCqYAFq3 pKPR/oXQatD1OIXSol6JiQLh0XDedAlDEh86BZvSozinQVXysoW8YjcVFjEB4lV831/R iSZ5nmmMpER+TB81FWGLxoV4Apm0Al2FL78cx54vDjzy9aAabNeDteVev1IiBnO9lAa6 o2JT1V6l013OW7dC8onKkC8XjMOZm2R3qwoopA3l7eJt39XLlGfzWvjX8CBJ7uKO+mYm +QX2UYaaDO4g+N0ZeT5d5RPjOaCY+E5r5GSKDeXMLJpdbJIoRSNvPhYwzYVNnF98sIgC Gphw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716419; x=1721321219; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q2iBWS2+3c3Faezm++4qy17LkbyRGNJqin8EvtAlyAE=; b=jMQyWIzFZn6KBjEMVmT0k9i8dw/uAgMTC2bwq8f+mNH2eZA7X+ekGisObMigpEVCeJ rM15TyNvQ+iJhomXtd0wSI3ODBwMxXoXm2ZFHHw3x/HvfdcslxJzmVLqNaRu2Kydd18A PRyaU7QYPiOk0Lm9qdqX6Dv7ErtsAcK7nRZC4E6ME5FPosUCLJ8Z5Z3/A0igqNOaSePR S9EXGlx+qbdG9G4MuQhJIFs2nWS29RPNQHQKkpkO151S9azzt5nVY8XgAL+f0HUyj5W3 i5xp0cpBZ1M9Qzxg/F19UksWd94u/5btl/LwBB5Nf8iB8bYTTatXjrehwRj0mOfQ7M88 3wNQ== X-Gm-Message-State: AOJu0Yx9biA2Q7s1+RO8+WxHS/fJ/m/IAwI7waDbVLD48PDdFJ0uRmPE n4HZ59yaCKHHzdVyvqDT2Z8s/VzGpUYBOjdPxaKbGr7MGWS0OQT3Is7xfw== X-Google-Smtp-Source: AGHT+IFRr5F06pXOcftViF+/WaoSBW6FEaMryItPQ0nPk2AcaQlHznzSjliEx4RVJ8tMGSR/hV0ROQ== X-Received: by 2002:a6b:6801:0:b0:7f8:c1b2:9784 with SMTP id ca18e2360f4ac-80004173ab3mr959725439f.20.1720716419244; Thu, 11 Jul 2024 09:46:59 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:59 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 06/11] qmi: Enable _auto_ use for some classes Date: Thu, 11 Jul 2024 11:46:23 -0500 Message-ID: <20240711164654.1688558-6-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This enables ell _auto_ keyword use with qmi_service_free and qmi_param_free. --- drivers/qmimodem/qmi.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/qmimodem/qmi.h b/drivers/qmimodem/qmi.h index 0e48313ebb64..69698ee049c6 100644 --- a/drivers/qmimodem/qmi.h +++ b/drivers/qmimodem/qmi.h @@ -5,6 +5,8 @@ * SPDX-License-Identifier: GPL-2.0-only */ +#include + #include #include @@ -110,6 +112,8 @@ struct qmi_param; struct qmi_param *qmi_param_new(void); void qmi_param_free(struct qmi_param *param); +DEFINE_CLEANUP_FUNC(qmi_param_free) + bool qmi_param_append(struct qmi_param *param, uint8_t type, uint16_t length, const void *data); bool qmi_param_append_uint8(struct qmi_param *param, uint8_t type, @@ -146,6 +150,8 @@ int qmi_error_to_ofono_cme(int qmi_error); struct qmi_service *qmi_service_clone(struct qmi_service *service); void qmi_service_free(struct qmi_service *service); +DEFINE_CLEANUP_FUNC(qmi_service_free) + const char *qmi_service_get_identifier(struct qmi_service *service); bool qmi_service_get_version(struct qmi_service *service, uint8_t *out_version); From patchwork Thu Jul 11 16:46:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730870 Received: from mail-io1-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A66E82BD0D for ; Thu, 11 Jul 2024 16:47:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716423; cv=none; b=rUn/+oVyAh+iCimTV1cwCNGmGYXEq++H0xVXj7q/s6I0KL7TDsVAsOqvkIfc5hp0KsNBZ6PJySVg2nWtz89BDYmkG1GIAqrb/ji5uM46FVkJ30KQkB6+dGYmRcWNFY6VUc2KsVL6MUMvdarHLxSW17GttEKCNF60oqAmP4PbylQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716423; c=relaxed/simple; bh=dffnGkI17qSPW3b25IONLAlEAPrFwVApJ4+yj4idVS4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cdot+AVAFLXSVwhrLihzmbj/pdxS8F1M3BW1qmbN2zA+/qjgb6xz5EoINdyzPKPEA5OgfLqiGXZm/9m73Anp1o2VpOgMJWLkLh5hYl9bvSMhS8yg5rbewo3x32MjtFcbgZIhHoxGII5w8fI944JbuPYuAxYbxXSZMNcIqziYqyI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Z+i7RO0X; arc=none smtp.client-ip=209.85.166.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Z+i7RO0X" Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-7eee7728b00so39153539f.3 for ; Thu, 11 Jul 2024 09:47:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716421; x=1721321221; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9c2JHjrV2CQ00glYH/m2D0yKTwf7Wgj38pYLIWfkVyo=; b=Z+i7RO0XSj7ST8jo4RoxAsAVbAeFaTPltxOA+J8z259QzS9hhNr+FDnnNdNcA5BGmJ nIKYD7zq/K+hiZ01ty3HxTx+y2R8qMlQmLYC77lc6Nf4I5eE+eGfzRtxPwoTX6wRPxjb +fbgvwPkOEHaiqOqW/IXKqSEAGMb2S0ebw/hPajr4SJwh5I9vhV0UpBHoWJwrs2Zuo0y 5c0meS3rmkoSLBwnn6GXI/lkR2KcylLyB2wWVqWOv7DBgxA7PorFUAs/ES4t88zbEkTU b8T/3zScqCdgo54SIFo86Sv+pmY6bXnP9IWDUZpCJqxdkVNb7iuTwhuayczyNZAEVYB3 HtKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716421; x=1721321221; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9c2JHjrV2CQ00glYH/m2D0yKTwf7Wgj38pYLIWfkVyo=; b=SQ/4qB9EXbCq2xrew3hS6NDGY23aNRS1Y00eXsHCS4oGgZIBUMTbut4JZA1CYhpmiP nStHzjsb6CsEBldKuzMDA8sNoyWgFRJL3TICNDNNsWwFRJYT0oHTzYrbog62ZshMh4WW eEa0Zh9nHBmeat+US1ajUEEitLrkB47NXS1/t5/8obCqDY9+mD/3uoS5qX1ktmlzMn8v PZK022h1McGPPLZsGudiWRUxoE51XXa8TQIFpApXssTqgN7Oc3LymEaw592fprIPlprj KSzPkwtrfLYA8XGNSWrl1MJ7IF8fpTQesgOyJh72zoJug9aHjL1iOHS/wH7W7veQexYR mOgw== X-Gm-Message-State: AOJu0YzzB+xFHJX5xSscBjweBCmEDo6d8pdzMWlQgGTXvzIw44PkfFoF 1T9bQ4Y+JTNdsAt1TjZseuYrwJ5TPwEPWo/wa0/mbFpKEtTy+pf42RLbMw== X-Google-Smtp-Source: AGHT+IG9cdibtzO0IgSiAQOXcI/OTbJx3bpC5FJ5/P6GyQ9VCPKUJrSTul7+pm80jbAT2nhUOtzeeA== X-Received: by 2002:a05:6602:6d1a:b0:7f9:c953:c754 with SMTP id ca18e2360f4ac-7fffe62c3d3mr1302452239f.3.1720716420697; Thu, 11 Jul 2024 09:47:00 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.46.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:46:59 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 07/11] qmi: gprs-context: Declare qmi_service objects using _auto_ Date: Thu, 11 Jul 2024 11:46:24 -0500 Message-ID: <20240711164654.1688558-7-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This simplifies the error paths slightly. --- drivers/qmimodem/gprs-context.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index 3c18476142ea..7d13889bf603 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -554,7 +554,8 @@ static int qmi_gprs_context_probev(struct ofono_gprs_context *gc, unsigned int vendor, va_list args) { int mux_id = va_arg(args, int); - struct qmi_service *wds = va_arg(args, struct qmi_service *); + _auto_(qmi_service_free) struct qmi_service *wds = + va_arg(args, struct qmi_service *); struct gprs_context_data *data; DBG(""); @@ -562,14 +563,12 @@ static int qmi_gprs_context_probev(struct ofono_gprs_context *gc, if (mux_id != -1) { int r = qmi_gprs_context_bind_mux(gc, wds, mux_id); - if (r < 0) { - qmi_service_free(wds); + if (r < 0) return r; - } } data = l_new(struct gprs_context_data, 1); - data->wds = wds; + data->wds = l_steal_ptr(wds); data->mux_id = mux_id; qmi_service_register(data->wds, QMI_WDS_PACKET_SERVICE_STATUS, From patchwork Thu Jul 11 16:46:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730871 Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A0AB381AD for ; Thu, 11 Jul 2024 16:47:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716423; cv=none; b=SsB2r+RRoHciMAU7bHZjwJ5BMbg9Rwh0cPhBu40mA4nXMBiKvcN90DjjKD9mJ2AZ5/g+NlmgJQtwDls6nnZEb/Iw8oH+9eLVchzhvM0CH4thOeEFIHCYWwYI3FQYEH9glgv5K8gDsB4yF5kkJg/+IPKMF/wGvmWQEdpFnRQn3mM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716423; c=relaxed/simple; bh=iZlHt/A2O6grO/X1yTE1vnMtETKWcpgDowWu9LQLCbc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q1ejB3q/M6Ov1WQDvWPbiUzyJXWB4wCkSfm/vw3El+KjB/0zTrJiHDKfCv6jCwk/m3bowgqCao3iC1FmCp7HgNwTyKdKW6R/KLj7YjtKALnsBPinY9tYIyZ5MRa/Iv3trkUG82dH0h9Sq42pKAYy+wgJAClffhKTRPLRyAbERTI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DvVdjUIt; arc=none smtp.client-ip=209.85.166.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DvVdjUIt" Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-7f70a708f8aso45265339f.2 for ; Thu, 11 Jul 2024 09:47:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716421; x=1721321221; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xxcAHt31rhaZUfXbtRdoehzVhraF5OL1R/CyD/8mu7M=; b=DvVdjUItdI2YsL0fGQHn9+9s1nlC6XawFUclHQHgpEvI9UWB/o0JJIBqB+/cfu5b6J n7RcRnaip9FMaLVv4PHtNLghB+ptlumkYltViqmNhHdlPkBRmgQQREW7wYuDV71vZvXz uR+88BhFQzBac9L/GZmgPWsXHXhx3NhEBGYRo4dpSFL4ReRS8N0UKp9jUiMPhP9raABK G71w+IWBwE6xKKtKuIa7bs3ckvdayFbV+Hk9WfNwuBGN3HaQUi5Ts6I64d13ZR1FLILi YwvkOXN5bFmM8ArPAHiPbsyR8dESy/Q0LArwGJWdjAf8mMUvJqHuw3PwZMy9wvonDT6f T1Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716421; x=1721321221; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xxcAHt31rhaZUfXbtRdoehzVhraF5OL1R/CyD/8mu7M=; b=i9fdZnlGFLFZgGBSplFxGbXNyh3x9lo56/NcQJvau050S2wuVPDvR/WXMAM3p+gX/M NAEOjJcFQ9YGkXfKmF/jErKik+1cOEhisijBB5HzmR8RFkjKjRe7RvfrIq7DBFwDUbny NO8t0LYhLbUWSW0pxaJhLM01vzQo+f4yhara0z9d9FbB4KD0Itkf5RFtMbXujqHnohLk wyTaAi0ZUS+bYmaQOpyLuGeKFfRmTATAgqp2sox3p4/37705o2Jy/6GzcwjNd2V3zGmZ VDPJE3D7jVHvNin0EFZfrXssqD2ctNHm4sDRpU2DnI4nt0xY5RxF0imp1bd4hJYbSi1L M9eA== X-Gm-Message-State: AOJu0Yw7YFC+6KLrGvkrK5mF/Ubp6sbjplyDRz95mq22xVUuU2PODE2O z+ewyAGfzk56fhjWZBK61gtcQcUKY0w/Q7qkXxvuT+3h4vw4oMQnFlZcwQ== X-Google-Smtp-Source: AGHT+IGZFxZMxO0UgboUgIIN/EWKrHMtuGLjXQr4TCC4ACxWD1EQ7a9RGQmhTat+TAUkK3nNG7qE0Q== X-Received: by 2002:a5d:9304:0:b0:7f9:217c:c109 with SMTP id ca18e2360f4ac-7ffffc36bffmr916072139f.9.1720716421315; Thu, 11 Jul 2024 09:47:01 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.47.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:47:00 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 08/11] qmi: Pass two dedicated WDS services to gprs-context Date: Thu, 11 Jul 2024 11:46:25 -0500 Message-ID: <20240711164654.1688558-8-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 gprs-context driver will not take two qmi_service objects, each with a dedicated WDS service. This will allow gprs-context to support dual stack (ipv4 + ipv6) contexts (in future commits). For now, the behavior is left unchanged with the second qmi_service being destroyed. --- drivers/qmimodem/gprs-context.c | 8 +++++--- plugins/gobi.c | 11 +++++++++-- plugins/qrtrqmi.c | 7 +++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index 7d13889bf603..5582a8052c0b 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -554,21 +554,23 @@ static int qmi_gprs_context_probev(struct ofono_gprs_context *gc, unsigned int vendor, va_list args) { int mux_id = va_arg(args, int); - _auto_(qmi_service_free) struct qmi_service *wds = + _auto_(qmi_service_free) struct qmi_service *ipv4 = + va_arg(args, struct qmi_service *); + _auto_(qmi_service_free) struct qmi_service *ipv6 = va_arg(args, struct qmi_service *); struct gprs_context_data *data; DBG(""); if (mux_id != -1) { - int r = qmi_gprs_context_bind_mux(gc, wds, mux_id); + int r = qmi_gprs_context_bind_mux(gc, ipv4, mux_id); if (r < 0) return r; } data = l_new(struct gprs_context_data, 1); - data->wds = l_steal_ptr(wds); + data->wds = l_steal_ptr(ipv4); data->mux_id = mux_id; qmi_service_register(data->wds, QMI_WDS_PACKET_SERVICE_STATUS, diff --git a/plugins/gobi.c b/plugins/gobi.c index 76e1e133860d..cb20824cc424 100644 --- a/plugins/gobi.c +++ b/plugins/gobi.c @@ -803,10 +803,14 @@ static void gobi_setup_gprs(struct ofono_modem *modem) /* Simple case of 802.3 interface, no QMAP */ if (data->n_premux == 0) { + struct qmi_service *ipv4 = data->context_services[0].wds_ipv4; + struct qmi_service *ipv6 = data->context_services[0].wds_ipv6; + interface = ofono_modem_get_string(modem, "NetworkInterface"); gc = ofono_gprs_context_create(modem, 0, "qmimodem", -1, - qmi_service_clone(data->wds)); + qmi_service_clone(ipv4), + qmi_service_clone(ipv6)); if (!gc) { ofono_warn("Unable to create gprs-context for: %s", ofono_modem_get_path(modem)); @@ -826,13 +830,16 @@ static void gobi_setup_gprs(struct ofono_modem *modem) DBG("max_aggregation_size: %u", data->max_aggregation_size); for (i = 0; i < data->n_premux; i++) { + struct qmi_service *ipv4 = data->context_services[i].wds_ipv4; + struct qmi_service *ipv6 = data->context_services[i].wds_ipv6; int mux_id; sprintf(buf, "PremuxInterface%dMuxId", i + 1); mux_id = ofono_modem_get_integer(modem, buf); gc = ofono_gprs_context_create(modem, 0, "qmimodem", mux_id, - qmi_service_clone(data->wds)); + qmi_service_clone(ipv4), + qmi_service_clone(ipv6)); if (!gc) { ofono_warn("gprs-context creation failed for [%d] %s", diff --git a/plugins/qrtrqmi.c b/plugins/qrtrqmi.c index b64ab355a2e8..21103371046a 100644 --- a/plugins/qrtrqmi.c +++ b/plugins/qrtrqmi.c @@ -324,10 +324,13 @@ static int setup_gprs_context(uint8_t mux_id, const char *interface, struct ofono_modem *modem = ofono_gprs_get_modem(gprs); struct qrtrqmi_data *data = ofono_modem_get_data(modem); struct qmi_qrtr_node *node = data->node; + struct qmi_service *ipv4 = qmi_qrtr_node_get_dedicated_service(node, + QMI_SERVICE_WDS); + struct qmi_service *ipv6 = qmi_qrtr_node_get_dedicated_service(node, + QMI_SERVICE_WDS); struct ofono_gprs_context *gc; - gc = ofono_gprs_context_create(modem, 0, "qmimodem", mux_id, - qmi_qrtr_node_get_service(node, QMI_SERVICE_WDS)); + gc = ofono_gprs_context_create(modem, 0, "qmimodem", mux_id, ipv4, ipv6); if (!gc) { ofono_warn("Unable to create gprs-context for: %s, %s[%u]", ofono_modem_get_path(modem), interface, mux_id); From patchwork Thu Jul 11 16:46:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730872 Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA82316B743 for ; Thu, 11 Jul 2024 16:47:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716424; cv=none; b=h+RBzTD+TNXsCM44jPDomfjHXRNElObvXsmTpFgX5Nk7MBbiO2/+OslR89eCbf/ySRRUTxqVqG+1838KzzlntKvbo8L7K39Eg7GFW6KWt08gMpNeU1y9R0nuoBOiG5oM++3qVTeKovCYMmB8hQtctS88pRgAai+uHV8zAk0airk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716424; c=relaxed/simple; bh=0UKrj6psPpqKrHfsfXGzVkrlHHzbsnYn0x2SxeReDmI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lH8L3Ezz/VbZoV/wsBaAVGlHBPju6HMz2psvCoF3WsQ3T6P5iSjw0x70eUOVf2JlUxhSsOxHSJaTeHT5cOMSXEIiIDOgvrHZZ1ugIfR3s+JeIrGmIqOne4rvzlnLlJwvPlIyLtP6DWd4Kr5tRppfUMC7xkBtzzh3gFJjlK15Abo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=niU4lR/m; arc=none smtp.client-ip=209.85.166.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="niU4lR/m" Received: by mail-io1-f49.google.com with SMTP id ca18e2360f4ac-7f3c5af0a04so53862139f.0 for ; Thu, 11 Jul 2024 09:47:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716422; x=1721321222; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rs8F02vWqEf3iOs19nUa1+NSb0ZJzw+ofar/3zu1nbw=; b=niU4lR/mRZHXv9m0lXvNId7a+JeY419Dyps0B0tUTKJGvwLUIlA5r2rgAi6CG0HVL5 udfr/rUi6M3zDQuHXM36f8T/2zV0Jb6hTucVLaQe0fzK5c9DKkqRWRBtlwh4jHF2radA KQl2gF8ng/KQWCZSNuoDd2aQz8hBR/BvV4h1pTKIGRSVRdIHDDe483Rk+fQMnxNzmuqR 3Cpk9Me3HPmTUoY7zT9tPu1qpWNPbfrpzhE4aboViJJnzzgzTQ46AD609uc1p/IXCvNY JVN1hEz7vGVuDU85SJKvTxzsOeZQ0Ttck1j1hkvyzov4rMkb/wioXeyf/z8564fVZN4/ 4gcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716422; x=1721321222; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rs8F02vWqEf3iOs19nUa1+NSb0ZJzw+ofar/3zu1nbw=; b=T8QHItYZXNKeTwobD/KRaYzV+Jy9UsJ1e/PJIFai8D6T7gJEdsQkYxIl+LE4MLTnlf 3yLVEEDQmuWkv3+Xnwwpr6hhd0DepJs6gaVwniNxPIwXYPwdFSIz19bzqTyFKDwR278I UWA74XxxNZIfyQqzUAiifdQLi9dP+hLLDKacMnwCtNYWhHp2I/FumFAdeibPhRIMrSDs vN1tRxGUnM5mwdBkHXaGG8q0up99e8+lLAt9h0S3TNjOizAGI68zEmkL+G8s+TFNa1IF yuOBKz0l2vk9WOFhp8HEH8rADJqX50URmvWAbn+wTObAJSyvNYJOX51nRayC1npt9ODo NOPg== X-Gm-Message-State: AOJu0YwyzBNHPHhAYWkz9iydp/8QZVyu5MU3fbmZ02ymugA+Nn7+Voxf KOBxg4wMKXEDPPpETLhRFXFPT0fDhfMe7SMrwpdSA7fFGI4IDvVu18byyg== X-Google-Smtp-Source: AGHT+IHNH/7nYM72jvkRQKC4oHZDjUYJjneG37y4KC9nbnI4maODlFdqZeFUPKl6OHu1j36ixtuRWA== X-Received: by 2002:a5e:870f:0:b0:804:4024:cd14 with SMTP id ca18e2360f4ac-8044024ce46mr572130139f.21.1720716421823; Thu, 11 Jul 2024 09:47:01 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.47.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:47:01 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 09/11] qmi: gprs-context: Remove parsing of unused TLVs Date: Thu, 11 Jul 2024 11:46:26 -0500 Message-ID: <20240711164654.1688558-9-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The information from these TLVs is currently unused and only printed to debug output. Same can be accomplished using an external sniffer. Remove this code until the information in these TLVs is needed for something. --- drivers/qmimodem/gprs-context.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index 5582a8052c0b..f29f10720710 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -173,29 +173,17 @@ static void get_settings_ipv4(struct ofono_gprs_context *gc, static void get_settings_cb(struct qmi_result *result, void *user_data) { - static const uint8_t RESULT_PDP_TYPE = 0x11; /* uint8 */ - static const uint8_t RESULT_APN = 0x14; /* string */ static const uint8_t RESULT_IP_FAMILY = 0x2b; /* uint8 */ struct cb_data *cbd = user_data; ofono_gprs_context_cb_t cb = cbd->cb; struct ofono_gprs_context *gc = cbd->user; - uint8_t pdp_type, ip_family; - char *apn; + uint8_t ip_family; DBG(""); if (qmi_result_set_error(result, NULL)) goto done; - apn = qmi_result_get_string(result, RESULT_APN); - if (apn) { - DBG("APN: %s", apn); - l_free(apn); - } - - if (qmi_result_get_uint8(result, RESULT_PDP_TYPE, &pdp_type)) - DBG("PDP type %d", pdp_type); - if (!qmi_result_get_uint8(result, RESULT_IP_FAMILY, &ip_family)) { ofono_error("No IP family in results"); goto done; From patchwork Thu Jul 11 16:46:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730873 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7DC6A2BD0D for ; Thu, 11 Jul 2024 16:47:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716424; cv=none; b=qlrVDbscJ3XeSMyv5K0DSPsota+wnSVjzY3Eebq8bVB1emuEcxGoqsFNKl9WUaHSPc3m5AYpxjGI4vJ+Du0Tkjwf7OIpCNIWKDxybS9Rt54CANCdSZx2ecUF2LOGgpIps63AW49YenkScSxv4SHWMMlcKTmT6ZGO+spxUU8xCns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716424; c=relaxed/simple; bh=vO4r9cGq68fYR+sL1wt5HYkj6S6KPSzAJWZb1HayTkY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L3lKQ9GksoO/ETWyyrVHoitJmxcm/CGFbjcK9i8+q2O50o5BmyiSSq71RlujBm7wsI9RWGzC91OV1M/miSNOOqe5GgY2El2RlgEtbRFzuZo7lcm0D5TTYpaNGMzIr9sFAyhajG2Rk6Kgx0hs1B3a5GsL4hXCfOZAgKcEMfb8+7o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kH29+CvE; arc=none smtp.client-ip=209.85.166.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kH29+CvE" Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-80767b21543so40085339f.3 for ; Thu, 11 Jul 2024 09:47:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716422; x=1721321222; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hhDPhgBnW28NGD1DexG3TdcWj7WvUa/k14wm4z0A/Pg=; b=kH29+CvEkVCpVrinVyGUrrambnUrpD3Ja2a9Rkl2Mq/5gUfm2HQ1pVC13Ow6SISx8p XyC57E6ROJ4ALJpdNPfvWQQnDQhZ/gTgV0zO44ru2WEsiTbWVo4qG9IAAWqrzfXm2TKc JOb1srHy3MM1FSNapYmKS8UeiO1vT6GiaaQdhm2SvQUh/DxC2quu8mMmlEd3OPaSxSjY X1aGfdUwp7sAEDLGghMuXznCkmtWvNJKrHqlbl648joZ1Y6L/ueUIt7wj3iz2WsdZWF3 gzTKx1eDn+X/E/wlyU9B2QJCxNKgYWKs+Yu7yo8Q9jlk3OWk2Gi4mSIfMxM0mYazYLkJ XQ7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716422; x=1721321222; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hhDPhgBnW28NGD1DexG3TdcWj7WvUa/k14wm4z0A/Pg=; b=HxtcK96loNjCeYhiV+depQARqYkaeoTCnr/LYupQIuavBqYpsFE3zOcTTK5Rf/8ll1 xlex6QB/gJI6kL+4Up1sLXqyKx0i6hIr9wEisZJWvV8vKk6fhglEXANVyle1b7nufQcN Q6lj65PalzfqDAAyFHfmwO5yJuzUViSIbtrfnfwymjFeg2pOJQ8HuSz0Q7tlnypD+oCR RgDPYWdYhOmAha08KttlRmLOAe0ZTTG192GXjK4UaXjCDaHytx/xFwRw7UBYwfjAjfhg PWuGF3vio0kdqZa/XyU9qH93uTq94uET0vyes5FVrZTZddeuOSGtArW+MifPncBOpfCU OagA== X-Gm-Message-State: AOJu0Ywgx+viexcaOVYfe2fBRqLRVjtb7dhQxQW4u3bYrBwfWHw4seJG dleuVRHNEvNCBlbQc+IONYk0vlK0j0tsWShEMcukLU71B/sqE54JvyTrsA== X-Google-Smtp-Source: AGHT+IGttArU07PPCM8TamzpgadW+zwQLg49n0n3bJq6QDsybMFKm1VefnZz4PbNx1Ss7I7t3Cr+Vg== X-Received: by 2002:a05:6602:428b:b0:7f6:2570:509 with SMTP id ca18e2360f4ac-800009b5236mr964090239f.6.1720716422510; Thu, 11 Jul 2024 09:47:02 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.47.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:47:02 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 10/11] qmi: gprs-context: Treat IP family TLV as mandatory Date: Thu, 11 Jul 2024 11:46:27 -0500 Message-ID: <20240711164654.1688558-10-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Also, while here, coalesce two debugging statements into one. --- drivers/qmimodem/gprs-context.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index f29f10720710..203a320a42af 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -46,10 +46,10 @@ static void pkt_status_notify(struct qmi_result *result, void *user_data) if (!status) return; - DBG("conn status %d", status->status); + if (!qmi_result_get_uint8(result, RESULT_IP_FAMILY, &ip_family)) + return; - if (qmi_result_get_uint8(result, RESULT_IP_FAMILY, &ip_family)) - DBG("ip family %d", ip_family); + DBG("conn status %d ip family %d", status->status, ip_family); switch (status->status) { case QMI_WDS_CONNECTION_STATUS_DISCONNECTED: From patchwork Thu Jul 11 16:46:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Kenzior X-Patchwork-Id: 13730874 Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04A54381AD for ; Thu, 11 Jul 2024 16:47:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716425; cv=none; b=iJlAiraSC/PYKPx3UwwPG/0z3tpP9laZGqz7y8iDmT48q+ZHBEb/ep8H5xjH1U6PZwPo7ylYjlY3moc9VRP0EgvthHNyCQDG5Wknn+hNzlknK1w3cd13GnRR7Af/WD8tr6kGwFAdf/3MlDkxfzx86Ufk5PgMRAj/PycgG9HXyGs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720716425; c=relaxed/simple; bh=kDr1xsnUxUtjM3I9IlmL9vxIjJLhnalxNLEmIJVSIYk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YSGevZxsa/Q6yBQtcb9WFbT6CHjiGAlZGhKsndO8zbe6cooNMFBo+j6mVHE91d2D7rSS4ZgjDiCsILRPKS5CUwQrc8JQdO7EUaBZN5AvmgTVYGBu5got7LlqZIojgROSMZrfxDsStwKFswV5FyyKB+vGlgxMnjoU3vs2UxjTRvA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kKioo9F+; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kKioo9F+" Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-8076f64774eso18604939f.0 for ; Thu, 11 Jul 2024 09:47:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720716423; x=1721321223; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ulFCqB4rLETVs0UZnS7S1sOnvERefdoHgf1++l0WEJM=; b=kKioo9F+H9vVD5RhqeTvjS5w8J6kjZfcy6cXBuDJPBDcf9W3S3g84NH4SRFNPSnE3h Oi66Y3GHieampD0FkQdw12GVlEnixtC+6jL649e5Zi7bWYK2j75tVhh21XUvalzANlne T1R2EkTNr995ZARhj2Kt3j96U9K5RLpKrI4AvGMMA9bk3z6JTcFsr8CbGX/rvkmoAzNZ gzDNBfAtBIfGJpcQhoFR42jvCNoUd6NOOvZcqOa3SO7GPriNOAz7fGylbdcg7BjNKFl2 B+iFjeuuWl23sQzqdQ3syyKLh3+cluqwwbrqVtlOJGBQUP3bvQ4+BLyoErKHMvNymWQp 8YeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720716423; x=1721321223; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ulFCqB4rLETVs0UZnS7S1sOnvERefdoHgf1++l0WEJM=; b=Lyi1/Bh+N24nL6kV9Lwf2Di9/Z2D+s/jtpSeqT+/Ug4krXaQD/FS1MQxbquTPb2Jpn kLXvqDJrVaw/IdOT/FN44Ma5xCSH0z6x4yBLPJQpV5wVez7ergTsOqhj/jJxQd+cufUX +vFreWGfDLxBU02xvKc+O2ueNuOSkGXzo/20hN3JF/J9RAJNAFO+QGxfFxYCSa0u7HAX JzmFV4tZH3Y/UCqOjTMr2EPgThqB6Z8YlP76f1GAdE/KS7+UKxNwi/bNs7kyGJ4Q0Qrn cgkWipTgzCwybQtcmudfVJXWkhnAVb9y/uI6AOHHntARufHa81Nz1W+MsyyR+PlX/0o5 BR5A== X-Gm-Message-State: AOJu0YzL9mhhrXN8gYsmfaFC9xojKIglY4SmGXlTf5zLlPHUmi4b4PXf NvuVD0g5IgIpE6udTXCdKcZ4K3j/fkdr2O8qk/wn5rMEwCs4w9yL62gf9g== X-Google-Smtp-Source: AGHT+IEvoyF4rdY+XJI4qxOYSb+LEx8ornErRxTTVA30fP1XS99+akgmxOG6NT0b2wFuC3Jl5iverw== X-Received: by 2002:a05:6602:2568:b0:803:1d26:d359 with SMTP id ca18e2360f4ac-8031d26d794mr946381539f.12.1720716423109; Thu, 11 Jul 2024 09:47:03 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ad99:2e00:e9ed:d1b6:6b3c:b7f3]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-7ffed680fa4sm194096039f.46.2024.07.11.09.47.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Jul 2024 09:47:02 -0700 (PDT) From: Denis Kenzior To: ofono@lists.linux.dev Cc: Denis Kenzior Subject: [PATCH v2 11/11] qmi: gprs-context: Set up WDS service for IPv6 Date: Thu, 11 Jul 2024 11:46:28 -0500 Message-ID: <20240711164654.1688558-11-denkenz@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240711164654.1688558-1-denkenz@gmail.com> References: <20240711164654.1688558-1-denkenz@gmail.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Track and take ownership of the passed in WDS service meant for IPv6 connectivity. The WDS service should be bound to a particular endpoint / mux_id and register to the same indication types as the other WDS service being utilized. Additionally, WDS services are created with IPv4 as the default family preference. To support dual-stack bearers, the WDS service managing IPv6 requires 'Set IP Family Preference' command to be issued with the IPv6 family preference set. --- drivers/qmimodem/gprs-context.c | 51 ++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index 203a320a42af..456f46ead6d5 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -22,6 +22,7 @@ struct gprs_context_data { struct qmi_service *wds; + struct qmi_service *ipv6; unsigned int active_context; uint32_t pkt_handle; uint8_t mux_id; @@ -454,6 +455,37 @@ static void qmi_gprs_context_detach_shutdown(struct ofono_gprs_context *gc, qmi_deactivate_primary(gc, cid, NULL, NULL); } +static void set_ip_family_preference_cb(struct qmi_result *result, + void *user_data) +{ + struct ofono_gprs_context *gc = user_data; + uint16_t error; + + if (!qmi_result_set_error(result, &error)) + error = 0; + + DBG("%u", error); + + if (error) + ofono_gprs_context_remove(gc); +} + +static int set_ip_family_preference(struct ofono_gprs_context *gc, + struct qmi_service *wds, + uint8_t family) +{ + static const uint8_t PARAM_IP_FAMILY_PREFERENCE = 0x01; + struct qmi_param *param = + qmi_param_new_uint8(PARAM_IP_FAMILY_PREFERENCE, family); + + if (qmi_service_send(wds, QMI_WDS_SET_IP_FAMILY, param, + set_ip_family_preference_cb, gc, NULL) > 0) + return 0; + + qmi_param_free(param); + return -EIO; +} + static void bind_mux_data_port_cb(struct qmi_result *result, void *user_data) { struct ofono_gprs_context *gc = user_data; @@ -547,22 +579,38 @@ static int qmi_gprs_context_probev(struct ofono_gprs_context *gc, _auto_(qmi_service_free) struct qmi_service *ipv6 = va_arg(args, struct qmi_service *); struct gprs_context_data *data; + int r; DBG(""); if (mux_id != -1) { - int r = qmi_gprs_context_bind_mux(gc, ipv4, mux_id); + r = qmi_gprs_context_bind_mux(gc, ipv4, mux_id); + if (r < 0) + return r; + r = qmi_gprs_context_bind_mux(gc, ipv6, mux_id); if (r < 0) return r; } + /* + * Default family preference for new WDS services is IPv4. For the + * service used for IPv6 contexts, issue a SET_IP_FAMILY_PREFERENCE + * command + */ + r = set_ip_family_preference(gc, ipv6, QMI_WDS_IP_FAMILY_IPV6); + if (r < 0) + return r; + data = l_new(struct gprs_context_data, 1); data->wds = l_steal_ptr(ipv4); + data->ipv6 = l_steal_ptr(ipv6); data->mux_id = mux_id; qmi_service_register(data->wds, QMI_WDS_PACKET_SERVICE_STATUS, pkt_status_notify, gc, NULL); + qmi_service_register(data->ipv6, QMI_WDS_PACKET_SERVICE_STATUS, + pkt_status_notify, gc, NULL); ofono_gprs_context_set_data(gc, data); @@ -578,6 +626,7 @@ static void qmi_gprs_context_remove(struct ofono_gprs_context *gc) ofono_gprs_context_set_data(gc, NULL); qmi_service_free(data->wds); + qmi_service_free(data->ipv6); l_free(data); }