diff --git a/package/switch/src/switch-robo.c b/package/switch/src/switch-robo.c
index 656e69ff123ad1265706fd06a61cb20c0f45ee28..5b849cb33d78fd5bce0d0883fff4ccbfedb5ebec 100644
--- a/package/switch/src/switch-robo.c
+++ b/package/switch/src/switch-robo.c
@@ -96,12 +96,15 @@ static int do_ioctl(int cmd)
 static u16 mdio_read(__u16 phy_id, __u8 reg)
 {
 	struct mii_ioctl_data *mii = if_mii(&robo.ifr);
+	int err;
+
 	mii->phy_id = phy_id;
 	mii->reg_num = reg;
 
-	if (do_ioctl(SIOCGMIIREG) < 0) {
+	err = do_ioctl(SIOCGMIIREG);
+	if (err < 0) {
 		printk(KERN_ERR PFX
-		       "[%s:%d] SIOCGMIIREG failed!\n", __FILE__, __LINE__);
+		       "[%s:%d] SIOCGMIIREG failed! err: %i\n", __FILE__, __LINE__, err);
 
 		return 0xffff;
 	}
@@ -112,14 +115,16 @@ static u16 mdio_read(__u16 phy_id, __u8 reg)
 static void mdio_write(__u16 phy_id, __u8 reg, __u16 val)
 {
 	struct mii_ioctl_data *mii = if_mii(&robo.ifr);
+	int err;
 
 	mii->phy_id = phy_id;
 	mii->reg_num = reg;
 	mii->val_in = val;
 
-	if (do_ioctl(SIOCSMIIREG) < 0) {
+	err = do_ioctl(SIOCSMIIREG);
+	if (err < 0) {
 		printk(KERN_ERR PFX
-		       "[%s:%d] SIOCSMIIREG failed!\n", __FILE__, __LINE__);
+		       "[%s:%d] SIOCSMIIREG failed! err: %i\n", __FILE__, __LINE__, err);
 		return;
 	}
 }