Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay

Pull auxdisplay fixes from Andy Shevchenko:

- Fix NULL dereference in linedisp_release()

- Fix ht16k33 DT bindings to avoid warnings

- Handle errors in I²C transfers in lcd2s driver

* tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay:
auxdisplay: line-display: fix NULL dereference in linedisp_release
auxdisplay: lcd2s: add error handling for i2c transfers
dt-bindings: auxdisplay: ht16k33: Use unevaluatedProperties to fix common property warning

+14 -5
+1 -1
Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml
··· 66 66 required: 67 67 - refresh-rate-hz 68 68 69 - additionalProperties: false 69 + unevaluatedProperties: false 70 70 71 71 examples: 72 72 - |
+12 -3
drivers/auxdisplay/lcd2s.c
··· 99 99 { 100 100 struct lcd2s_data *lcd2s = lcd->drvdata; 101 101 u8 buf[2] = { LCD2S_CMD_WRITE, c }; 102 + int ret; 102 103 103 - lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); 104 + ret = lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); 105 + if (ret < 0) 106 + return ret; 107 + if (ret != sizeof(buf)) 108 + return -EIO; 104 109 return 0; 105 110 } 106 111 ··· 113 108 { 114 109 struct lcd2s_data *lcd2s = lcd->drvdata; 115 110 u8 buf[3] = { LCD2S_CMD_CUR_POS, y + 1, x + 1 }; 111 + int ret; 116 112 117 - lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); 118 - 113 + ret = lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); 114 + if (ret < 0) 115 + return ret; 116 + if (ret != sizeof(buf)) 117 + return -EIO; 119 118 return 0; 120 119 } 121 120
+1 -1
drivers/auxdisplay/line-display.c
··· 365 365 366 366 static void linedisp_release(struct device *dev) 367 367 { 368 - struct linedisp *linedisp = to_linedisp(dev); 368 + struct linedisp *linedisp = container_of(dev, struct linedisp, dev); 369 369 370 370 kfree(linedisp->map); 371 371 kfree(linedisp->message);