From patchwork Tue Apr 23 14:59:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Schrock X-Patchwork-Id: 13640195 Received: from mx0a-003ede02.pphosted.com (mx0a-003ede02.pphosted.com [205.220.169.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A2DC13BACF for ; Tue, 23 Apr 2024 15:01:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.169.153 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713884494; cv=none; b=aP7w1Zv63OKGZqExqkoFrhCf6aqHOIQMQybrclVcviSn6/R3qe3sFXngEKaJH62H0ZH2BAcDSZjVKkELoFc4xBwsYayiO0u2YWj+8xf41oFV8glyO4DfUilXcEchgbrEL7qMJs7wEc2l1dZsPXb6M4wHlEA5jAwfV1s3l0jUWTg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713884494; c=relaxed/simple; bh=7jmQug9g/u/vIwfDVeBt8dg+vZmZY2p/ZCvbn4X5tRs=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=FscnlQ1a2W7Yr2s6qIpIjYA1cW7GMJ7hsitgm3mJHguucfwHQA4taXo8ZxdfsJI5Xwv1QmK8ky4A7/3SPqlcCSBvSdxqDSpOQC6bVKyRpKHOA5v3gBjpDcvs09u0jG3tg9u9uhWnOSFNEiSI3M/UfSBTfAe9JBpgm+k8howt5Uk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=getcruise.com; spf=pass smtp.mailfrom=getcruise.com; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b=mFEbNvDo; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b=nGFzuwHV; arc=none smtp.client-ip=205.220.169.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=getcruise.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=getcruise.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b="mFEbNvDo"; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b="nGFzuwHV" Received: from pps.filterd (m0286616.ppops.net [127.0.0.1]) by mx0b-003ede02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 43NDO5Pj003082 for ; Tue, 23 Apr 2024 08:01:25 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=getcruise.com; h=from:to:cc:subject:date:message-id:mime-version:content-type; s=ppemail; bh=tkuvmAuM69A/UbT0E0U4GWTdPOQSxjMoOclAzEbaUtg=; b=m FEbNvDori5xZ31rePh0HPwrJn1b9YV6MPBJR8gWZ/WOJ81OcG4Vneat637o6yzba wth7thhkKKvfOTcstHlg8+Ch0qjsUX4/1s9IrDNyhPuEKjsKvtSM9kRDtmWYwl2L OiH3vBDUM1wWGkfivhiJiDxElmZTUKPUQu8n3p1bLvNa0nqKaPGR/f2RqkrUqw/I cg96POS+HNENn++akKVZSwUyGlTWYlfdppood1wJLZjB5VNFC3Q6X/OmEf1meXiU Lt0NBVtI9gaviLLp2aEXP39W85PkpqH8hQmmEgON67zH41NsnSZcOOp5GjksXmvn ndOh7c5CrvPupYc3vC2Sg== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0b-003ede02.pphosted.com (PPS) with ESMTPS id 3xmb94a36r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 23 Apr 2024 08:01:24 -0700 (PDT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-69942c6d975so71898176d6.1 for ; Tue, 23 Apr 2024 08:01:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=getcruise.com; s=google; t=1713884483; x=1714489283; darn=lists.linux.dev; h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=tkuvmAuM69A/UbT0E0U4GWTdPOQSxjMoOclAzEbaUtg=; b=nGFzuwHVUooLKUzQkr+m4M/6cUNZNRviE72jQr6sh07bC7UngAfg80FLQJuANia4oB HYSTo21PiKgk2YJazhTbZd7FP0dDhN9Q591EpS4RcUMP/uU51uxnYFjfTUrl8u0TBvmH nwuGwbGEBhjLQZEopNoKNlq55qNhql2Qnn8oHy9cmRH6znpAT7anLdvN8bE7yyZLQeti QM48SMzmHCGeuAdkLccTUfGqcLQm8STWxTSCen9ZHrXHOyLxmzNlL0JCTWO3LrsSiWjg FmCl92MADG2t2vGf1byyoAmULwTfKk5kF7u+9RrSWQ+tZ6K8QV/v29Lyr0BYex9GHqMC JH9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713884483; x=1714489283; h=mime-version:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=tkuvmAuM69A/UbT0E0U4GWTdPOQSxjMoOclAzEbaUtg=; b=OJY4H4tAT8Kl8yPdl0mlmO51BPQw8V7Go6CIVDNjPjjmXQsQ1vw3s1lpd1FVs8vbTe 9yG1dtD+mUbz8n1PY2UZuasMknqPR54oABVFgnqEe6O6P2mqfXYWj9Nb9akxk1JTE0N6 S9y2Vj6qoOAe5O2zIZGo1fID5pEoOqBMhElyqLiayZEwr8OzYcz31PssmEg6MxA8JYnz s//09MyJtFPyEsmAwmXpsrqedLsaz3BLpH0uSPNdgqsfsR9KVRvuItzTFtxx9YkFYifJ Hmze3eU7S32IXvr/vV8L+tevQ+3+a1Rz/JiI/mCFD2oibAVt3F//EAGVj+ITZ8HaeomF 2vdA== X-Gm-Message-State: AOJu0YwLCkGiMJTf/LYW3oZQUvQp2z+hzSP/KmMxuc7hcnyNgq56wEXD FqW1yvXOlc3NSBuz42cPHoO2rwMSkpdKz/44pIfjwPhDlNwQG4qeMkYGLM3GmSA0P/WnHIbePPd C7IbkqkQzHfD+q6j++qPsB6m8wOl6oDj2YBgm7KMsEA2a+HvCtl3bmbvVTcsV6gNolbJEOb1IAM TcjVZ1037Jpf41Z5OaNDeBfNV4SmU3BU6dCXpYrUmqnGtSLag= X-Received: by 2002:ad4:4b73:0:b0:6a0:424c:6eab with SMTP id m19-20020ad44b73000000b006a0424c6eabmr14033055qvx.47.1713884483009; Tue, 23 Apr 2024 08:01:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF2VBY+WqFGmJ4dPjhqrK3hcBCj51VQl08JZqMeBILgcYbymWmz58NPj2IN/2kfS8DWsVCZhw== X-Received: by 2002:ad4:4b73:0:b0:6a0:424c:6eab with SMTP id m19-20020ad44b73000000b006a0424c6eabmr14033017qvx.47.1713884482571; Tue, 23 Apr 2024 08:01:22 -0700 (PDT) Received: from localhost.localdomain ([140.141.152.103]) by smtp.gmail.com with ESMTPSA id b10-20020a0cf04a000000b006986c3f3d21sm5183393qvl.116.2024.04.23.08.01.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 08:01:22 -0700 (PDT) From: Steve Schrock To: ofono@lists.linux.dev Cc: Steve Schrock Subject: [PATCH v2 1/3] qmimodem: Remove redundant unregister all calls Date: Tue, 23 Apr 2024 14:59:34 +0000 Message-Id: <20240423145936.276945-1-steve.schrock@getcruise.com> X-Mailer: git-send-email 2.40.1 Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Proofpoint-GUID: 4HIVaeRKhHb3MWFt7LWb6Jtdb5ayfhqA X-Proofpoint-ORIG-GUID: 4HIVaeRKhHb3MWFt7LWb6Jtdb5ayfhqA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-23_12,2024-04-23_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxlogscore=937 lowpriorityscore=0 impostorscore=0 adultscore=0 spamscore=0 clxscore=1011 priorityscore=1501 bulkscore=0 malwarescore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2404010003 definitions=main-2404230036 Some of the qmimodem drivers were calling qmi_service_unregister_all before decrementing the reference count to 0. This is unnecessary because the service will unregister all as it is being destroyed. --- drivers/qmimodem/gprs-context.c | 4 +--- drivers/qmimodem/location-reporting.c | 2 -- drivers/qmimodem/sms.c | 2 -- drivers/qmimodem/voicecall.c | 2 -- 4 files changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index 6104cc82e76a..d248761f92d6 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -503,10 +503,8 @@ static void qmi_gprs_context_remove(struct ofono_gprs_context *gc) ofono_gprs_context_set_data(gc, NULL); - if (data->wds) { - qmi_service_unregister_all(data->wds); + if (data->wds) qmi_service_unref(data->wds); - } l_free(data); } diff --git a/drivers/qmimodem/location-reporting.c b/drivers/qmimodem/location-reporting.c index a32d18245c4f..549bd5740613 100644 --- a/drivers/qmimodem/location-reporting.c +++ b/drivers/qmimodem/location-reporting.c @@ -257,8 +257,6 @@ static void qmi_location_reporting_remove(struct ofono_location_reporting *lr) ofono_location_reporting_set_data(lr, NULL); - qmi_service_unregister_all(data->pds); - qmi_service_unref(data->pds); l_free(data); diff --git a/drivers/qmimodem/sms.c b/drivers/qmimodem/sms.c index b9fe963520d6..12f5d6726d48 100644 --- a/drivers/qmimodem/sms.c +++ b/drivers/qmimodem/sms.c @@ -801,8 +801,6 @@ static void qmi_sms_remove(struct ofono_sms *sms) ofono_sms_set_data(sms, NULL); - qmi_service_unregister_all(data->wms); - qmi_service_unref(data->wms); if (data->msg_list) diff --git a/drivers/qmimodem/voicecall.c b/drivers/qmimodem/voicecall.c index b66f1ae7d56d..02376c3df447 100644 --- a/drivers/qmimodem/voicecall.c +++ b/drivers/qmimodem/voicecall.c @@ -653,8 +653,6 @@ static void qmi_voicecall_remove(struct ofono_voicecall *vc) ofono_voicecall_set_data(vc, NULL); - qmi_service_unregister_all(data->voice); - qmi_service_unref(data->voice); l_queue_destroy(data->call_list, l_free); From patchwork Tue Apr 23 14:59:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Schrock X-Patchwork-Id: 13640197 Received: from mx0a-003ede02.pphosted.com (mx0a-003ede02.pphosted.com [205.220.169.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01A1E13B58D for ; Tue, 23 Apr 2024 15:01:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.169.153 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713884498; cv=none; b=dSv/lKxyWOjneUVn9tTIGxkgneV6RrlJWWzAqIFrEcFuDEtdcSqkuX5oFlslTwroNdWdIRKYqTt1WHfIDLIOeKHuQwpaFuq9CtWDNvC8pVoW/gWUay+w4HwdkgE5fgQDdSG/7opzmJ1nACbPIGNayUp8Jbkr17hnfrxHmaj2HCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713884498; c=relaxed/simple; bh=MqKNSwqKRGw9hkuLe1cxUotkEqqfavLlsaOSwG9nJIw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=g0uSdU60iV70Icq7LSgTnUPqBsHqKR3lDBLXtKCRS51h7YYOmpXZ5NzdAaRF2ER03uE/pnJkMFMjVR7C5wlpWEMRJ+5YnVx/DeE+Zfcy3T22kvnxo5im7Cm0AdSAb6EwW9+lsXqviwuua5tfJrs0n5JY33sHqbPkxR9B1bkxthg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=getcruise.com; spf=pass smtp.mailfrom=getcruise.com; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b=LAJeC61h; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b=amnteScb; arc=none smtp.client-ip=205.220.169.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=getcruise.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=getcruise.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b="LAJeC61h"; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b="amnteScb" Received: from pps.filterd (m0286615.ppops.net [127.0.0.1]) by mx0b-003ede02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 43ND07hN029400 for ; Tue, 23 Apr 2024 08:01:30 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=getcruise.com; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type; s=ppemail; bh=CE1ZY8wJYZP+zkoBqSlogB 8CxMvPZgssY5vITH/af3U=; b=LAJeC61hlpy81dusMurv5PIpU1H18lGUHAngOy 0rGizVvGBtRdcowgcvHxCvuFnyy014pt3yQCob0dOqnHuJABAz3kC2c+3Ce+vqkw l7FtCjzXRFzswuc2kjZMtYXaO/l6OxIc+fgOJ4NjDKBIHyNWlXfg1H6NOkWs7ymD TzDYG8TrQFQQvyYMSRFlWM+LBGSBv/hd2Xg3ozUR1/H34e37g0ATIYtG5nRhIWOj rU4HgWhVOO06ZznyRMFtmVHsSE1r1t22h6uY+qFC6PrTeSXPvuFVT4fvTgEESBp8 kZz1SMS5VlrYT/CkJSjtuN915v2AgONo80SwuF79i5Kie4WQ== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0b-003ede02.pphosted.com (PPS) with ESMTPS id 3xm9wha42y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 23 Apr 2024 08:01:26 -0700 (PDT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6a025a08cfaso67388036d6.1 for ; Tue, 23 Apr 2024 08:01:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=getcruise.com; s=google; t=1713884485; x=1714489285; darn=lists.linux.dev; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=CE1ZY8wJYZP+zkoBqSlogB8CxMvPZgssY5vITH/af3U=; b=amnteScb6rNsDDxmRwGkgWsoh55ocxYoqgQa79Fm0o+ar/hxXXX4+s9fRDp1u30KjZ aOzdNUmR85gBea/k8FSaa5vvFeCHwdfUPcTznrOVItvP7wg1ZlajUrpEWghfBxKV8+js 2prUSGwJog9VhnGMa3DMr6pumZONf3YkGHXYRxrJuXyeOTDlzdjNkdW/qXT6K0+2T31V Y5jYnuEzZQSrSC3sJQYWGhmDYaNqRaRleUoZ8hFIMvPl+hDsRb4RNZ/s2/B2Mr6Hu2nw mA/4mL6IaGU7M4lNE/KqO1yfVnRRvabaez5EOBmS2T8j1Ste3vd+mSRFW1NeGsKidEDX 6M+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713884485; x=1714489285; h=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=CE1ZY8wJYZP+zkoBqSlogB8CxMvPZgssY5vITH/af3U=; b=IIIizFqVnN3kJS7d0nV5t7RzT2VxHBEIPdriZgCGeB+Ob6uRl7tUrTRXPOvGJhC8yb Ci00h6rTgZpMhtCJ+w4qFyzsq6zVRunwShASJNewNloFIux0jeJUsmK/y+E6DJ2ZAbPz Zt6ECS01ITovtMuzAxAheXGAwvMVnCz83LNQxc1JWGxe8lANEcgjs0T10fZ8Y94ZNIWa iNpldMu/+ZJ4HA6Twkwc3Xmci4zdQc5m4RWXSwkP8w3VJsLqC9GtVaTphKHKtBUj8Li2 SX0YzkY8xFNdjx2Qhj8aQxtOxHllH7GBuGO0f4nL+cP5cmOvhMUq7Czxy/QJ3NfRQSBd OVYQ== X-Gm-Message-State: AOJu0YzuLVBBqUuZSEoJ0fY9WfD0kNTaH1adxGGYoxY1ccb3A7tReDJ2 KXwRHEXR5Z+Zmgcuxm7MVSEI+n4EEvz9dKxVpAQwS+5ueTSbJemjYYZHV0PHNbRSFpziAqvNi8c zEuMqsiuxDjPdRR+UocazmPus9K564Vi6qjoc3VilpuoXZIp74d5gfcMB9CzkaViOdodhDjqaHT 5E0T0s5CicAEqX31YJknVqAOPDA7wvT+d7LcTbTbOyAqCMwIg= X-Received: by 2002:ad4:4e68:0:b0:69b:1be3:e76f with SMTP id ec8-20020ad44e68000000b0069b1be3e76fmr12718976qvb.44.1713884483852; Tue, 23 Apr 2024 08:01:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFPjETg7Z4JXndXtSgiiRE+KZ+KiVjJWgguBzxMeEwCdaBS3yxWIzIdAx6Qgh9Jxfaq9MaNdw== X-Received: by 2002:ad4:4e68:0:b0:69b:1be3:e76f with SMTP id ec8-20020ad44e68000000b0069b1be3e76fmr12718928qvb.44.1713884483181; Tue, 23 Apr 2024 08:01:23 -0700 (PDT) Received: from localhost.localdomain ([140.141.152.103]) by smtp.gmail.com with ESMTPSA id b10-20020a0cf04a000000b006986c3f3d21sm5183393qvl.116.2024.04.23.08.01.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 08:01:23 -0700 (PDT) From: Steve Schrock To: ofono@lists.linux.dev Cc: Steve Schrock Subject: [PATCH v2 2/3] qmimodem: Eliminate qmi_service reference counting Date: Tue, 23 Apr 2024 14:59:35 +0000 Message-Id: <20240423145936.276945-2-steve.schrock@getcruise.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240423145936.276945-1-steve.schrock@getcruise.com> References: <20240423145936.276945-1-steve.schrock@getcruise.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: 1UuKAGH9kGh8Z2lbb6VWk13siuVJHUyV X-Proofpoint-GUID: 1UuKAGH9kGh8Z2lbb6VWk13siuVJHUyV X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-23_12,2024-04-23_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 impostorscore=0 phishscore=0 mlxlogscore=777 spamscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2404010003 definitions=main-2404230036 Now that each client gets its own qmi_service object, there is no need to perform reference counting. qmi_service_ref has been removed and qmi_service_unref has been renamed to qmi_service_free. --- drivers/qmimodem/call-barring.c | 4 ++-- drivers/qmimodem/call-forwarding.c | 4 ++-- drivers/qmimodem/call-settings.c | 4 ++-- drivers/qmimodem/devinfo.c | 4 ++-- drivers/qmimodem/gprs-context.c | 4 ++-- drivers/qmimodem/gprs.c | 8 ++++---- drivers/qmimodem/location-reporting.c | 4 ++-- drivers/qmimodem/lte.c | 4 ++-- drivers/qmimodem/netmon.c | 4 ++-- drivers/qmimodem/network-registration.c | 4 ++-- drivers/qmimodem/qmi.c | 17 +---------------- drivers/qmimodem/qmi.h | 4 +--- drivers/qmimodem/radio-settings.c | 8 ++++---- drivers/qmimodem/sim-legacy.c | 4 ++-- drivers/qmimodem/sim.c | 8 ++++---- drivers/qmimodem/sms.c | 4 ++-- drivers/qmimodem/ussd.c | 4 ++-- drivers/qmimodem/voicecall.c | 4 ++-- plugins/gobi.c | 8 ++++---- unit/test-qmimodem-qmi.c | 15 +++++++-------- 20 files changed, 51 insertions(+), 69 deletions(-) diff --git a/drivers/qmimodem/call-barring.c b/drivers/qmimodem/call-barring.c index 6224893871a0..3852c92f89ad 100644 --- a/drivers/qmimodem/call-barring.c +++ b/drivers/qmimodem/call-barring.c @@ -216,7 +216,7 @@ static void create_voice_cb(struct qmi_service *service, void *user_data) return; } - bd->voice = qmi_service_ref(service); + bd->voice = service; ofono_call_barring_register(barr); } @@ -248,7 +248,7 @@ static void qmi_call_barring_remove(struct ofono_call_barring *barr) ofono_call_barring_set_data(barr, NULL); if (bd->voice) - qmi_service_unref(bd->voice); + qmi_service_free(bd->voice); l_free(bd); } diff --git a/drivers/qmimodem/call-forwarding.c b/drivers/qmimodem/call-forwarding.c index 2a415b2a9c11..dea8a29cfd84 100644 --- a/drivers/qmimodem/call-forwarding.c +++ b/drivers/qmimodem/call-forwarding.c @@ -302,7 +302,7 @@ static void create_voice_cb(struct qmi_service *service, void *user_data) return; } - cfd->voice = qmi_service_ref(service); + cfd->voice = service; ofono_call_forwarding_register(cf); } @@ -334,7 +334,7 @@ static void qmi_call_forwarding_remove(struct ofono_call_forwarding *cf) ofono_call_forwarding_set_data(cf, NULL); if (cfd->voice) - qmi_service_unref(cfd->voice); + qmi_service_free(cfd->voice); l_free(cfd); } diff --git a/drivers/qmimodem/call-settings.c b/drivers/qmimodem/call-settings.c index 53b2f1f21fc9..66956cf33d83 100644 --- a/drivers/qmimodem/call-settings.c +++ b/drivers/qmimodem/call-settings.c @@ -288,7 +288,7 @@ static void create_voice_cb(struct qmi_service *service, void *user_data) return; } - csd->voice = qmi_service_ref(service); + csd->voice = service; csd->sups_ind_id = qmi_service_register(csd->voice, QMI_VOICE_SUPS_IND, sups_ind, cs, NULL); @@ -324,7 +324,7 @@ static void qmi_call_settings_remove(struct ofono_call_settings *cs) if (csd->voice) { qmi_service_unregister(csd->voice, csd->sups_ind_id); - qmi_service_unref(csd->voice); + qmi_service_free(csd->voice); } l_free(csd); diff --git a/drivers/qmimodem/devinfo.c b/drivers/qmimodem/devinfo.c index 0172614b8aae..3b976858a409 100644 --- a/drivers/qmimodem/devinfo.c +++ b/drivers/qmimodem/devinfo.c @@ -232,7 +232,7 @@ static void create_dms_cb(struct qmi_service *service, void *user_data) return; } - data->dms = qmi_service_ref(service); + data->dms = service; data->device_is_3gpp = false; qmi_query_caps(devinfo); @@ -264,7 +264,7 @@ static void qmi_devinfo_remove(struct ofono_devinfo *devinfo) ofono_devinfo_set_data(devinfo, NULL); - qmi_service_unref(data->dms); + qmi_service_free(data->dms); l_free(data); } diff --git a/drivers/qmimodem/gprs-context.c b/drivers/qmimodem/gprs-context.c index d248761f92d6..055378dc102f 100644 --- a/drivers/qmimodem/gprs-context.c +++ b/drivers/qmimodem/gprs-context.c @@ -467,7 +467,7 @@ static void create_wds_cb(struct qmi_service *service, void *user_data) return; } - data->wds = qmi_service_ref(service); + data->wds = service; qmi_service_register(data->wds, QMI_WDS_PACKET_SERVICE_STATUS, pkt_status_notify, gc, NULL); @@ -504,7 +504,7 @@ static void qmi_gprs_context_remove(struct ofono_gprs_context *gc) ofono_gprs_context_set_data(gc, NULL); if (data->wds) - qmi_service_unref(data->wds); + qmi_service_free(data->wds); l_free(data); } diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c index a66863834a5f..72509d433bc6 100644 --- a/drivers/qmimodem/gprs.c +++ b/drivers/qmimodem/gprs.c @@ -350,7 +350,7 @@ static void create_wds_cb(struct qmi_service *service, void *user_data) return; } - data->wds = qmi_service_ref(service); + data->wds = service; /* * First get the SS info - the modem may already be connected, @@ -382,7 +382,7 @@ static void create_nas_cb(struct qmi_service *service, void *user_data) return; } - data->nas = qmi_service_ref(service); + data->nas = service; qmi_service_create_shared(data->dev, QMI_SERVICE_WDS, create_wds_cb, gprs, NULL); @@ -416,7 +416,7 @@ static void qmi_gprs_remove(struct ofono_gprs *gprs) ofono_gprs_set_data(gprs, NULL); - qmi_service_unref(data->wds); + qmi_service_free(data->wds); if (data->serving_system_indication_id) { qmi_service_unregister(data->nas, @@ -424,7 +424,7 @@ static void qmi_gprs_remove(struct ofono_gprs *gprs) data->serving_system_indication_id = 0; } - qmi_service_unref(data->nas); + qmi_service_free(data->nas); l_free(data); } diff --git a/drivers/qmimodem/location-reporting.c b/drivers/qmimodem/location-reporting.c index 549bd5740613..e83fd10eae5d 100644 --- a/drivers/qmimodem/location-reporting.c +++ b/drivers/qmimodem/location-reporting.c @@ -208,7 +208,7 @@ static void create_pds_cb(struct qmi_service *service, void *user_data) return; } - data->pds = qmi_service_ref(service); + data->pds = service; qmi_service_register(data->pds, QMI_PDS_EVENT, event_notify, lr, NULL); @@ -257,7 +257,7 @@ static void qmi_location_reporting_remove(struct ofono_location_reporting *lr) ofono_location_reporting_set_data(lr, NULL); - qmi_service_unref(data->pds); + qmi_service_free(data->pds); l_free(data); } diff --git a/drivers/qmimodem/lte.c b/drivers/qmimodem/lte.c index 921d6e81933e..6c08c312b3cb 100644 --- a/drivers/qmimodem/lte.c +++ b/drivers/qmimodem/lte.c @@ -183,7 +183,7 @@ static void create_wds_cb(struct qmi_service *service, void *user_data) return; } - ldd->wds = qmi_service_ref(service); + ldd->wds = service; /* Query the default profile */ param = qmi_param_new(); @@ -228,7 +228,7 @@ static void qmimodem_lte_remove(struct ofono_lte *lte) ofono_lte_set_data(lte, NULL); - qmi_service_unref(ldd->wds); + qmi_service_free(ldd->wds); l_free(ldd); } diff --git a/drivers/qmimodem/netmon.c b/drivers/qmimodem/netmon.c index e8a020d734e8..1097bd32f232 100644 --- a/drivers/qmimodem/netmon.c +++ b/drivers/qmimodem/netmon.c @@ -222,7 +222,7 @@ static void create_nas_cb(struct qmi_service *service, void *user_data) return; } - nmd->nas = qmi_service_ref(service); + nmd->nas = service; ofono_netmon_register(netmon); } @@ -253,7 +253,7 @@ static void qmi_netmon_remove(struct ofono_netmon *netmon) ofono_netmon_set_data(netmon, NULL); - qmi_service_unref(nmd->nas); + qmi_service_free(nmd->nas); l_free(nmd); } diff --git a/drivers/qmimodem/network-registration.c b/drivers/qmimodem/network-registration.c index c37e4f4f4938..2e2e4a10dbf8 100644 --- a/drivers/qmimodem/network-registration.c +++ b/drivers/qmimodem/network-registration.c @@ -657,7 +657,7 @@ static void create_nas_cb(struct qmi_service *service, void *user_data) goto error; } - data->nas = qmi_service_ref(service); + data->nas = service; param = qmi_param_new(); @@ -733,7 +733,7 @@ static void qmi_netreg_remove(struct ofono_netreg *netreg) data->signal_info_indication_id = 0; } - qmi_service_unref(data->nas); + qmi_service_free(data->nas); l_free(data); } diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c index dfd41317651c..74fcf3c8927e 100644 --- a/drivers/qmimodem/qmi.c +++ b/drivers/qmimodem/qmi.c @@ -133,7 +133,6 @@ struct service_family { }; struct qmi_service { - int ref_count; unsigned int handle; /* Uniquely identifies this client's reqs */ struct service_family *family; }; @@ -1510,7 +1509,6 @@ static struct qmi_service *service_create(struct service_family *family) device->next_service_handle = 1; service = l_new(struct qmi_service, 1); - service->ref_count = 1; service->handle = device->next_service_handle++; service->family = service_family_ref(family); @@ -1531,7 +1529,6 @@ static void service_create_shared_reply(struct l_idle *idle, void *user_data) service = service_create(data->family); DISCOVERY_DONE(data, service, data->user_data); - qmi_service_unref(service); } static void service_create_shared_pending_reply(struct qmi_device *device, @@ -1844,7 +1841,6 @@ done: service_create_shared_pending_reply(device, data->type, family); DISCOVERY_DONE(data, service, data->user_data); - qmi_service_unref(service); } static int qmi_device_qmux_client_create(struct qmi_device *device, @@ -2724,22 +2720,11 @@ bool qmi_service_create(struct qmi_device *device, user_data, destroy); } -struct qmi_service *qmi_service_ref(struct qmi_service *service) -{ - if (service) - service->ref_count++; - - return service; -} - -void qmi_service_unref(struct qmi_service *service) +void qmi_service_free(struct qmi_service *service) { if (!service) return; - if (--service->ref_count) - return; - qmi_service_cancel_all(service); qmi_service_unregister_all(service); diff --git a/drivers/qmimodem/qmi.h b/drivers/qmimodem/qmi.h index 506fed6b3a66..921136f384db 100644 --- a/drivers/qmimodem/qmi.h +++ b/drivers/qmimodem/qmi.h @@ -156,9 +156,7 @@ bool qmi_service_create(struct qmi_device *device, bool qmi_service_create_shared(struct qmi_device *device, uint16_t type, qmi_create_func_t func, void *user_data, qmi_destroy_func_t destroy); - -struct qmi_service *qmi_service_ref(struct qmi_service *service); -void qmi_service_unref(struct qmi_service *service); +void qmi_service_free(struct qmi_service *service); const char *qmi_service_get_identifier(struct qmi_service *service); bool qmi_service_get_version(struct qmi_service *service, diff --git a/drivers/qmimodem/radio-settings.c b/drivers/qmimodem/radio-settings.c index 08e08f50b113..b0d6a4f8647f 100644 --- a/drivers/qmimodem/radio-settings.c +++ b/drivers/qmimodem/radio-settings.c @@ -222,7 +222,7 @@ static void create_dms_cb(struct qmi_service *service, void *user_data) if (!service) return; - data->dms = qmi_service_ref(service); + data->dms = service; } static void create_nas_cb(struct qmi_service *service, void *user_data) @@ -244,7 +244,7 @@ static void create_nas_cb(struct qmi_service *service, void *user_data) return; } - data->nas = qmi_service_ref(service); + data->nas = service; ofono_radio_settings_register(rs); } @@ -277,8 +277,8 @@ static void qmi_radio_settings_remove(struct ofono_radio_settings *rs) ofono_radio_settings_set_data(rs, NULL); - qmi_service_unref(data->dms); - qmi_service_unref(data->nas); + qmi_service_free(data->dms); + qmi_service_free(data->nas); l_free(data); } diff --git a/drivers/qmimodem/sim-legacy.c b/drivers/qmimodem/sim-legacy.c index fd05f219ea52..8d069e25965c 100644 --- a/drivers/qmimodem/sim-legacy.c +++ b/drivers/qmimodem/sim-legacy.c @@ -323,7 +323,7 @@ static void create_dms_cb(struct qmi_service *service, void *user_data) return; } - data->dms = qmi_service_ref(service); + data->dms = service; data->event_indication_id = qmi_service_register(data->dms, QMI_DMS_EVENT, @@ -379,7 +379,7 @@ static void qmi_sim_remove(struct ofono_sim *sim) data->event_indication_id = 0; } - qmi_service_unref(data->dms); + qmi_service_free(data->dms); l_free(data); } diff --git a/drivers/qmimodem/sim.c b/drivers/qmimodem/sim.c index e561e269f1f2..4137a432d3d2 100644 --- a/drivers/qmimodem/sim.c +++ b/drivers/qmimodem/sim.c @@ -869,7 +869,7 @@ static void create_uim_cb(struct qmi_service *service, void *user_data) goto error; } - data->uim = qmi_service_ref(service); + data->uim = service; param = qmi_param_new_uint32(QMI_UIM_PARAM_EVENT_MASK, mask); @@ -894,7 +894,7 @@ static void create_dms_cb(struct qmi_service *service, void *user_data) return; } - data->dms = qmi_service_ref(service); + data->dms = service; qmi_service_create(data->qmi_dev, QMI_SERVICE_UIM, create_uim_cb, sim, NULL); @@ -938,12 +938,12 @@ static void qmi_sim_remove(struct ofono_sim *sim) data->card_status_indication_id = 0; } - qmi_service_unref(data->uim); + qmi_service_free(data->uim); data->uim = NULL; } if (data->dms) { - qmi_service_unref(data->dms); + qmi_service_free(data->dms); data->dms = NULL; } diff --git a/drivers/qmimodem/sms.c b/drivers/qmimodem/sms.c index 12f5d6726d48..c6252d9d12cb 100644 --- a/drivers/qmimodem/sms.c +++ b/drivers/qmimodem/sms.c @@ -759,7 +759,7 @@ static void create_wms_cb(struct qmi_service *service, void *user_data) return; } - data->wms = qmi_service_ref(service); + data->wms = service; memset(&data->rd_msg_id, 0, sizeof(data->rd_msg_id)); data->msg_mode = QMI_WMS_MESSAGE_MODE_GSMWCDMA; @@ -801,7 +801,7 @@ static void qmi_sms_remove(struct ofono_sms *sms) ofono_sms_set_data(sms, NULL); - qmi_service_unref(data->wms); + qmi_service_free(data->wms); if (data->msg_list) l_free(data->msg_list); diff --git a/drivers/qmimodem/ussd.c b/drivers/qmimodem/ussd.c index 67dd649f360b..cecd5f13e99b 100644 --- a/drivers/qmimodem/ussd.c +++ b/drivers/qmimodem/ussd.c @@ -178,7 +178,7 @@ static void create_voice_cb(struct qmi_service *service, void *user_data) return; } - data->voice = qmi_service_ref(service); + data->voice = service; qmi_service_register(data->voice, QMI_VOICE_USSD_IND, async_ind, ussd, NULL); @@ -215,7 +215,7 @@ static void qmi_ussd_remove(struct ofono_ussd *ussd) ofono_ussd_set_data(ussd, NULL); - qmi_service_unref(data->voice); + qmi_service_free(data->voice); l_free(data); } diff --git a/drivers/qmimodem/voicecall.c b/drivers/qmimodem/voicecall.c index 02376c3df447..7c9326fef28a 100644 --- a/drivers/qmimodem/voicecall.c +++ b/drivers/qmimodem/voicecall.c @@ -618,7 +618,7 @@ static void create_voice_cb(struct qmi_service *service, void *user_data) return; } - data->voice = qmi_service_ref(service); + data->voice = service; qmi_service_register(data->voice, QMI_VOICE_ALL_CALL_STATUS_IND, all_call_status_ind, vc, NULL); @@ -653,7 +653,7 @@ static void qmi_voicecall_remove(struct ofono_voicecall *vc) ofono_voicecall_set_data(vc, NULL); - qmi_service_unref(data->voice); + qmi_service_free(data->voice); l_queue_destroy(data->call_list, l_free); l_free(data); diff --git a/plugins/gobi.c b/plugins/gobi.c index 9ab561010912..76507cd7f299 100644 --- a/plugins/gobi.c +++ b/plugins/gobi.c @@ -124,10 +124,10 @@ static int gobi_probe(struct ofono_modem *modem) static void cleanup_services(struct gobi_data *data) { - qmi_service_unref(data->dms); + qmi_service_free(data->dms); data->dms = NULL; - qmi_service_unref(data->wda); + qmi_service_free(data->wda); data->wda = NULL; } @@ -330,7 +330,7 @@ static void create_wda_cb(struct qmi_service *service, void *user_data) goto error; } - data->wda = qmi_service_ref(service); + data->wda = service; if (qmi_service_send(data->wda, QMI_WDA_GET_DATA_FORMAT, NULL, get_data_format_cb, modem, NULL) > 0) @@ -354,7 +354,7 @@ static void create_dms_cb(struct qmi_service *service, void *user_data) if (!service) goto error; - data->dms = qmi_service_ref(service); + data->dms = service; if (qmi_service_create(data->device, QMI_SERVICE_WDA, create_wda_cb, modem, NULL)) diff --git a/unit/test-qmimodem-qmi.c b/unit/test-qmimodem-qmi.c index 7d1a33eff9b1..00bd135683cd 100644 --- a/unit/test-qmimodem-qmi.c +++ b/unit/test-qmimodem-qmi.c @@ -173,7 +173,7 @@ static void test_cleanup(struct test_info *info) l_free(info->received); l_timeout_remove(info->timeout); l_queue_destroy(info->services, - (l_queue_destroy_func_t) qmi_service_unref); + (l_queue_destroy_func_t) qmi_service_free); qmi_device_free(info->device); /* The qrtr services will be destroyed automatically. */ @@ -220,7 +220,6 @@ static void create_service_cb(struct qmi_service *service, void *user_data) { struct test_info *info = user_data; - service = qmi_service_ref(service); l_queue_push_tail(info->services, service); } @@ -259,7 +258,7 @@ static void test_create_services(const void *data) assert(major == unique_service_version(i)); assert(minor == 0); - qmi_service_unref(service); + qmi_service_free(service); } /* @@ -286,7 +285,7 @@ static void test_create_services(const void *data) } for (i = 0; i < L_ARRAY_SIZE(services); i++) - qmi_service_unref(services[i]); + qmi_service_free(services[i]); test_cleanup(info); } @@ -470,7 +469,7 @@ static void test_send_data(const void *data) send_response_to_client(info, io); l_io_destroy(io); - qmi_service_unref(service); + qmi_service_free(service); test_cleanup(info); } @@ -528,7 +527,7 @@ static void test_notifications(const void *data) while (!info->notify_callback_called) l_main_iterate(-1); - qmi_service_unref(service); + qmi_service_free(service); /* Confirm no notifications received after the service is destroyed */ info->notify_callback_called = false; @@ -583,7 +582,7 @@ static void test_service_notification_independence(const void *data) info_clear_received(info); } - qmi_service_unref(services[0]); + qmi_service_free(services[0]); send_message_to_client(&info->sender, io, QMI_MESSAGE_TYPE_IND, 0, TEST_IND_MESSAGE_ID, @@ -593,7 +592,7 @@ static void test_service_notification_independence(const void *data) l_main_iterate(-1); for (i = 1; i < L_ARRAY_SIZE(services); i++) - qmi_service_unref(services[i]); + qmi_service_free(services[i]); l_io_destroy(io); test_cleanup(info); From patchwork Tue Apr 23 14:59:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Schrock X-Patchwork-Id: 13640196 Received: from mx0a-003ede02.pphosted.com (mx0a-003ede02.pphosted.com [205.220.169.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57E4A13B5B7 for ; Tue, 23 Apr 2024 15:01:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.169.153 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713884498; cv=none; b=twJ6nyCnPlPriGQ07FUo5Eiqv+GuoCAGV+aq1LN1HBU1WbTMCyH3oqWz25HZ/EH5JagSgvc2DtLHmFy71NADg62F72k1o7WIpr1/Ai+z6uXGc6RzLDPdYWNtHXkrRW7meBF0e4YLib52ZZbhVakMBOMxGoGmdqtvEOfHxbKsT/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713884498; c=relaxed/simple; bh=cy63BOfiNJcasMHebPiOWkqlN9KCusuCrocquY0DE7M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=SzZJ5PyrCuYuxQp1PpgDaxNLBdNkzRJPg5k25ipf2hq3GW63taYHNp7hjh5XEd8HPRpG1OUcOWCEUfahOUGPrz32KhU4PuzbTOIqxrhzGglHywPurKj/VCR7/AqNJf5Ea5oPioF2bmS5CbJyHDAasyEzml/v4eXk0RhnsFGIyKw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=getcruise.com; spf=pass smtp.mailfrom=getcruise.com; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b=Ephg8LV+; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b=FFBHicg4; arc=none smtp.client-ip=205.220.169.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=getcruise.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=getcruise.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b="Ephg8LV+"; dkim=pass (2048-bit key) header.d=getcruise.com header.i=@getcruise.com header.b="FFBHicg4" Received: from pps.filterd (m0286615.ppops.net [127.0.0.1]) by mx0b-003ede02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 43NCqcni013140 for ; Tue, 23 Apr 2024 08:01:29 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=getcruise.com; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type; s=ppemail; bh=a2uIHmQg0nLBh+OOS1zkwT BPJMeP/U2l/91PtRZJNo0=; b=Ephg8LV+QR3ujlHyov7zs3XpkkDcvhmSt6482y vnsnBmMdcv9RzcXQRSjQ27ehuxji46xjj+VHg78P8fSNVts9cC68wPEoQ3yTPa4V mFYMNFIr4d6sJVj67g7OyOkkUqlxejl7VkNHOG8QLK8PVKt9XkTr5xyCQi9lCo+V VpG0rUuHyyeWY1ndxZsk6bw19a/VqieruNqqyuB67bndOs3tGrsmN44Cm/Z3KU0o hHvpOIJ5Z4MrlBGSY2XnO8dTUOQUIzeZ4OCi3MgbZ53eBqoVNuLL/lGTQ7NL0+lK kj9QdOeB3ZWTLCDVTKX7j4q85Lgj+n4kyBGW2Hl/W6gOiApg== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0b-003ede02.pphosted.com (PPS) with ESMTPS id 3xm9wha42t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 23 Apr 2024 08:01:25 -0700 (PDT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6a087bba1c9so17890826d6.3 for ; Tue, 23 Apr 2024 08:01:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=getcruise.com; s=google; t=1713884484; x=1714489284; darn=lists.linux.dev; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=a2uIHmQg0nLBh+OOS1zkwTBPJMeP/U2l/91PtRZJNo0=; b=FFBHicg4AhjcJXwpLcxthlNzyJqwfaunj9oEk6c7wmfqkHCYhhNrDPr0BoRE02bjDj 0VhcUzpC6D7qT2Ci3nj8yQ9Lu8hHmk9B0SMzqIDL1HZehPh1iOZQs0vv3IdYOP2KlKMp kTlrB4d/YbbnRc/pRv1+9hnMIq9U4fdfjDfmMLeZMSDc6RtlBKVzJHpibDznYr870LKs LnjtD/QTKXWJVhpzMl6EKjnxgnyTXQOjGuCx3JmwK2J6OBZBN3mUsOWeoOuQQpP8ex5a N4PTn09GAdmNdBMv17lTJpJPiY2nywFo1O9V6LW12BYbNReVJFkHSabuTJ8Vf0EGNBos OX6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713884484; x=1714489284; h=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=a2uIHmQg0nLBh+OOS1zkwTBPJMeP/U2l/91PtRZJNo0=; b=Ziu1FzW4ULmMZhxD9wUAnXYdFOU/trwq29q0dDSAhYc7UUpBVGwofTSLerdL/Llme4 2M9upuVWJ5y+Xii6WrZLg2wNHZxlTFRup3D5GAccoJCb5Zm2YDbID0DxD+wVs2UQ0NPx BY2g/rjYYbmG5mhERCPRmnvib7Addd9VBk/efnTV5d/kzPxRPmdTjPtLGd3WY73QxNvn Elbmk/vqUIZ9iCVI+kA4TlXq9oiik7NkyCEZIMzQx9DOwo+6RDmELwGZRlyU1rBldVUy VoyPe6xH1FdwPiIdzh7UfmhnsEbFTdNeeocHbm1NHLRwtSbKWfjqkzyjSMBK+JhDbXeU 6aBA== X-Gm-Message-State: AOJu0Ywkzm8xW+9KO+RPAW8yKBBNavViNy5VYN8zVM4vWeKeoKjM4AHt COmmWOHMoUIyKLDId1h6Anpk18xpsVBZnTvVGgTMGX+qE8jv9WCfrPgCOdr34Y2xbbZ4Eo8cgi0 xj8qZlJg4BXLZ8XchgH+nZMi5UiZ2a6XlE6sAwyt/PehmN/4sNstu2x9+1QdBNSjBXY6xPKgUuS O1tXYkyHRhU1+jjMqlRtja2UcSIuDPR2xa1NSRGa3soPQqnw8= X-Received: by 2002:a0c:cc90:0:b0:69b:7c92:d880 with SMTP id f16-20020a0ccc90000000b0069b7c92d880mr13418660qvl.52.1713884484069; Tue, 23 Apr 2024 08:01:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHqB5TKLfW5pCFsCZBNmvhr7MwkHSyaRdKRMb6DiwymH8AlLmbffFc1aeBG3i2/eWkrP1eWbA== X-Received: by 2002:a0c:cc90:0:b0:69b:7c92:d880 with SMTP id f16-20020a0ccc90000000b0069b7c92d880mr13418626qvl.52.1713884483637; Tue, 23 Apr 2024 08:01:23 -0700 (PDT) Received: from localhost.localdomain ([140.141.152.103]) by smtp.gmail.com with ESMTPSA id b10-20020a0cf04a000000b006986c3f3d21sm5183393qvl.116.2024.04.23.08.01.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Apr 2024 08:01:23 -0700 (PDT) From: Steve Schrock To: ofono@lists.linux.dev Cc: Steve Schrock Subject: [PATCH v2 3/3] qmimodem: Remove unregister/cancel_all functions Date: Tue, 23 Apr 2024 14:59:36 +0000 Message-Id: <20240423145936.276945-3-steve.schrock@getcruise.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240423145936.276945-1-steve.schrock@getcruise.com> References: <20240423145936.276945-1-steve.schrock@getcruise.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: mMk5Z8NeYhp-69OO1GJKIct7ULap0ecg X-Proofpoint-GUID: mMk5Z8NeYhp-69OO1GJKIct7ULap0ecg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-23_12,2024-04-23_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 impostorscore=0 phishscore=0 mlxlogscore=999 spamscore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2404010003 definitions=main-2404230036 gobi was the final user of these functions in its disable function. It would perform this cleanup before sending a final message. This is not necessary because gobi does not register for any notifications and the only sends that might be in progress should only occur during initialization. If a client actually needs this functionality it should free the service and create a new one. These functions are still used internally in qmi. --- drivers/qmimodem/qmi.c | 30 +++++++++++++++--------------- drivers/qmimodem/qmi.h | 2 -- plugins/gobi.c | 3 --- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c index 74fcf3c8927e..69a0e535f689 100644 --- a/drivers/qmimodem/qmi.c +++ b/drivers/qmimodem/qmi.c @@ -2720,19 +2720,6 @@ bool qmi_service_create(struct qmi_device *device, user_data, destroy); } -void qmi_service_free(struct qmi_service *service) -{ - if (!service) - return; - - qmi_service_cancel_all(service); - qmi_service_unregister_all(service); - - service_family_unref(service->family); - - l_free(service); -} - const char *qmi_service_get_identifier(struct qmi_service *service) { if (!service) @@ -2896,7 +2883,7 @@ static void remove_client(struct l_queue *queue, unsigned int service_handle) L_UINT_TO_PTR(service_handle)); } -bool qmi_service_cancel_all(struct qmi_service *service) +static bool qmi_service_cancel_all(struct qmi_service *service) { struct qmi_device *device; @@ -2980,7 +2967,7 @@ static bool remove_notify_if_handle_match(void *data, void *user_data) return true; } -bool qmi_service_unregister_all(struct qmi_service *service) +static bool qmi_service_unregister_all(struct qmi_service *service) { if (!service) return false; @@ -2991,3 +2978,16 @@ bool qmi_service_unregister_all(struct qmi_service *service) return true; } + +void qmi_service_free(struct qmi_service *service) +{ + if (!service) + return; + + qmi_service_cancel_all(service); + qmi_service_unregister_all(service); + + service_family_unref(service->family); + + l_free(service); +} diff --git a/drivers/qmimodem/qmi.h b/drivers/qmimodem/qmi.h index 921136f384db..0075f73803cc 100644 --- a/drivers/qmimodem/qmi.h +++ b/drivers/qmimodem/qmi.h @@ -167,10 +167,8 @@ uint16_t qmi_service_send(struct qmi_service *service, qmi_result_func_t func, void *user_data, qmi_destroy_func_t destroy); bool qmi_service_cancel(struct qmi_service *service, uint16_t id); -bool qmi_service_cancel_all(struct qmi_service *service); uint16_t qmi_service_register(struct qmi_service *service, uint16_t message, qmi_result_func_t func, void *user_data, qmi_destroy_func_t destroy); bool qmi_service_unregister(struct qmi_service *service, uint16_t id); -bool qmi_service_unregister_all(struct qmi_service *service); diff --git a/plugins/gobi.c b/plugins/gobi.c index 76507cd7f299..550ce78733f5 100644 --- a/plugins/gobi.c +++ b/plugins/gobi.c @@ -471,9 +471,6 @@ static int gobi_disable(struct ofono_modem *modem) DBG("%p", modem); - qmi_service_cancel_all(data->dms); - qmi_service_unregister_all(data->dms); - /* * Telit QMI modem must remain online. If powered down, it also * powers down the sim card, and QMI interface has no way to bring