Linux Kernel Contributor - U-Boot Contributor - Zephyr RTOS Contributor (merged) - Quantum Computing Contributor - SONiC Contributor - DPDK Contributor - SoC Software Engineer
C/C++ - Embedded Linux - Systems & Runtime - Docker - Kubernetes
Espoo, Finland — Open to Linux / embedded roles in Europe and remote
Active upstream contributor across IIO, networking, sound, SoC, SCSI, power supply, XFS, and MFD — 12 patches, 8 subsystems, 9 merged. Full patch history on lore.kernel.org.
| Patch | Subsystem | Status |
|---|---|---|
iio: adc: ti-ads1298: Remove incorrect test signal init |
IIO / Medical ADC | ✅ Applied — functional bug fix · Jonathan Cameron · confirmed by Mike Looijmans & David Lechner |
iio: adc: ti-ads1298: Fix incorrect timeout comment |
IIO / Medical ADC | ✅ Applied — Jonathan Cameron · iio/togreg |
iio: adc: ti-ads1298: Add parentheses around macro parameter |
IIO / Medical ADC | ✅ Applied — Jonathan Cameron · iio/togreg |
sctp: Fix typo in comment |
Networking / SCTP | ✅ Merged — netdev/net-next · applied by Jakub Kicinski · c7ea0d2b4d76 |
ASoC: nau8825: Fix typos in comments |
Sound / ASoC | ✅ Merged — broonie/sound for-7.2 · queued for Linux 7.2 |
xfs: Fix typo in comment |
XFS Filesystem | ✅ Accepted — Carlos Maiolino · for-next · 509fdeb3326b |
scsi: scsi_scan: Fix typo in comment |
SCSI core | ✅ Applied — 7.2/scsi-staging · Martin K. Petersen · Reviewed-by: Bart Van Assche |
scsi: storvsc: Replace symbolic permissions with octal |
SCSI / Hyper-V | ✅ Applied — 7.2/scsi-staging · Martin K. Petersen · Reviewed-by: Long Li (Microsoft) |
power: supply: Fix typos in comments |
Power Supply | 🔄 v2 sent — Acked-by: Linus Walleij · awaiting maintainer |
soc: ti: knav_qmss_queue: Implement resource cleanup in remove() |
SoC / TI Keystone | ✅ Applied — ti-drivers-soc-next · Nishanth Menon · commit 10a1969353b2 · queued for linux-next |
mfd: si476x-i2c: Fix spelling mistakes in comments |
MFD / Silicon Labs Si476x radio | 🔄 Under review — v2 with Signed-off-by submitted · awaiting Lee Jones |
SONiC is the open-source Linux-based NOS powering data-center switches at Microsoft, Cisco, Arista, and others.
| Patch | Component | Status |
|---|---|---|
pfcwd: fix TypeError crash in interval() on partial PFC_WD entries |
PFC Watchdog CLI — pfcwd/main.py · sonic-net/sonic-utilities |
🔄 Open — DCO ✅ · EasyCLA ✅ · PR #4541 |
pfc_stat_history_cmd creates partial PFC_WD entries with no detection_time/restoration_time. interval() called int(None) unconditionally, crashing and permanently blocking polling-interval updates. Fix guards before conversion, skips incomplete entries, and consolidates redundant DB reads. Includes regression test.
DPDK is the high-performance packet-processing framework used in data centers, 5G, and networking infrastructure — same git send-email workflow as the Linux kernel.
| Patch | Component | Status |
|---|---|---|
bus/fslmc: fix ignored return value in fslmc_bus_unplug |
NXP DPAA2 bus driver — drivers/bus/fslmc/fslmc_bus.c |
🔄 Under review — dev@dpdk.org · CC: Hemant Agrawal, Sachin Saxena (NXP) |
dma/dpaa2: fix dpaa2_qdma_remove always returning success |
NXP DPAA2 DMA driver — drivers/dma/dpaa2/dpaa2_qdma.c |
🔄 Under review — dev@dpdk.org · CC: Gagandeep Singh, Hemant Agrawal (NXP) |
fslmc_bus_unplug() discarded drv->remove() return value, always reporting success. dpaa2_qdma_remove() logged errors but returned 0, hiding failures from callers. Fixes Bugzilla #1914. Both patches tagged Cc: stable@dpdk.org.
U-Boot is the bootloader used in embedded Linux systems including NXP i.MX6Q-based medical devices (patient monitors, ultrasound, imaging).
| Contribution | Component | Status |
|---|---|---|
SPL overflow fix for clk: imx6q patch series |
drivers/clk/imx/clk-imx6q.c — guard of_assigned_ldb_sels() and imx6q_init_ldb_clks() with !CONFIG_SPL_BUILD |
🔄 Sent to maintainer — fix for CI failure reported by Fabio Estevam · CC: Brian Ruley (GE Healthcare) |
Diagnosed and fixed an SPL SRAM overflow (112 bytes) caused by LDB display clock initialisation code being pulled into SPL via imx6q_clk_probe(). SPL never initialises a display — guarding the two functions reduces SPL text by ~688 bytes and unblocks the patch series.
| Contribution | Project | Status |
|---|---|---|
docs: add Advantage2 mention alongside Advantage in overview |
D-Wave Ocean SDK — quantum annealing platform docs | ✅ Merged — merged by Joel Pasvolsky · PR #453 · cd94d3c |
| Contribution | Area | Status |
|---|---|---|
drivers: sensor: max3010x: MAX30101/MAX30102 driver |
Sensor driver, I2C, Devicetree binding, Kconfig, build coverage | ✅ Merged — merged by Benjamin Cabé · approved by Jilay Pandya & Maureen Helm · PR #108697 |
maxim,max3010x-common shared DT binding |
Maxim pulse oximeter / heart-rate sensor family | ✅ Merged — extracted into shared binding per maintainer review · PR #108697 |
tests/drivers/build_all/sensor/i2c.dtsi coverage |
Zephyr sensor build test matrix | ✅ Merged — added per maintainer review · PR #108697 |
| Domain | Tools and technologies |
|---|---|
| Kernel and BSP | Linux kernel, device drivers, DTS, Kconfig, Makefiles |
| Embedded and RTOS | Zephyr RTOS, C, C++, sensor interfaces, I2C/SPI |
| Runtime and platform | SoC software, debugging, CI, performance-minded systems work |
| Networking and DC | DPDK, SONiC, data-centre switch software, high-performance packet processing |
| Cloud-adjacent engineering | Docker, Kubernetes, Azure AKS, monitoring, automation |
- M.HSc. Biomedical Engineering — University of Oulu, Finland (2016–2021)
- M.Sc. Computer Science & Engineering — Islamic University, Kushtia, Bangladesh (2014–2015)
- B.Sc. Electrical & Electronics Engineering — International Islamic University Chittagong, Bangladesh (2008–2013)
- Linux for Engineers — The Linux Foundation
- Introduction to RISC-V (LFD110) — The Linux Foundation
- Generative AI and Large Language Models — Coursera
| Project | What it shows |
|---|---|
| Real-Time Patient Monitoring on Kubernetes | Cloud-native monitoring architecture |
| Embedded driver work | Low-level C, hardware-facing debugging, upstream workflow |

