Re: [Openipmi-developer] [Cocci] [RFC] treewide: cleanup unreachable breaks
On Sat, 17 Oct 2020, Joe Perches wrote: > On Sat, 2020-10-17 at 09:09 -0700, t...@redhat.com wrote: > > From: Tom Rix > > > > This is a upcoming change to clean up a new warning treewide. > > I am wondering if the change could be one mega patch (see below) or > > normal patch per file about 100 patches or somewhere half way by collecting > > early acks. > > > > clang has a number of useful, new warnings see > > https://clang.llvm.org/docs/DiagnosticsReference.html > > > > This change cleans up -Wunreachable-code-break > > https://clang.llvm.org/docs/DiagnosticsReference.html#wunreachable-code-break > > for 266 of 485 warnings in this week's linux-next, allyesconfig on x86_64. > > Early acks/individual patches by subsystem would be good. > Better still would be an automated cocci script. Coccinelle is not especially good at this, because it is based on control flow, and a return or goto diverts the control flow away from the break. A hack to solve the problem is to put an if around the return or goto, but that gives the break a meaningless file name and line number. I collected the following list, but it only has 439 results, so fewer than clang. But maybe there are some files that are not considered by clang in the x86 allyesconfig configuration. Probably checkpatch is the best solution here, since it is not configuration sensitive and doesn't care about control flow. julia drivers/scsi/mvumi.c: function mvumi_cfg_hw_reg line 114 drivers/watchdog/geodewdt.c: function geodewdt_ioctl line 18 drivers/media/usb/b2c2/flexcop-usb.c: function flexcop_usb_init line 21 drivers/media/usb/b2c2/flexcop-usb.c: function flexcop_usb_memory_req line 20 drivers/tty/nozomi.c: function write_mem32 line 17 drivers/tty/nozomi.c: function write_mem32 line 25 drivers/tty/nozomi.c: function read_mem32 line 17 drivers/tty/nozomi.c: function read_mem32 line 21 sound/soc/codecs/wl1273.c: function wl1273_startup line 27 drivers/iio/adc/meson_saradc.c: function meson_sar_adc_iio_info_read_raw line 12 drivers/iio/adc/meson_saradc.c: function meson_sar_adc_iio_info_read_raw line 19 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c: function map_transmitter_id_to_phy_instance line 6 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c: function map_transmitter_id_to_phy_instance line 9 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c: function map_transmitter_id_to_phy_instance line 12 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c: function map_transmitter_id_to_phy_instance line 15 drivers/media/tuners/mt2063.c: function mt2063_init line 81 drivers/nfc/st21nfca/core.c: function st21nfca_hci_im_transceive line 46 arch/sh/boards/mach-landisk/gio.c: function gio_ioctl line 53 drivers/gpu/drm/mgag200/mgag200_mode.c: function mgag200_crtc_set_plls line 11 drivers/gpu/drm/mgag200/mgag200_mode.c: function mgag200_crtc_set_plls line 15 drivers/gpu/drm/mgag200/mgag200_mode.c: function mgag200_crtc_set_plls line 18 drivers/gpu/drm/mgag200/mgag200_mode.c: function mgag200_crtc_set_plls line 22 drivers/gpu/drm/mgag200/mgag200_mode.c: function mgag200_crtc_set_plls line 25 drivers/media/dvb-frontends/cx24117.c: function cx24117_attach line 16 drivers/block/xen-blkback/blkback.c: function dispatch_rw_block_io line 48 drivers/platform/x86/sony-laptop.c: function __sony_nc_gfx_switch_status_get line 16 drivers/platform/x86/sony-laptop.c: function __sony_nc_gfx_switch_status_get line 22 drivers/platform/x86/sony-laptop.c: function __sony_nc_gfx_switch_status_get line 31 drivers/char/mwave/mwavedd.c: function mwave_ioctl line 288 drivers/scsi/be2iscsi/be_mgmt.c: function beiscsi_adap_family_disp line 15 drivers/scsi/be2iscsi/be_mgmt.c: function beiscsi_adap_family_disp line 19 drivers/scsi/be2iscsi/be_mgmt.c: function beiscsi_adap_family_disp line 22 drivers/scsi/be2iscsi/be_mgmt.c: function beiscsi_adap_family_disp line 27 drivers/iio/imu/bmi160/bmi160_core.c: function bmi160_write_raw line 11 drivers/block/z2ram.c: function z2_open line 138 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c: function _rtl8723e_set_media_status line 38 samples/hidraw/hid-example.c: function bus_str line 6 samples/hidraw/hid-example.c: function bus_str line 9 samples/hidraw/hid-example.c: function bus_str line 12 samples/hidraw/hid-example.c: function bus_str line 15 samples/hidraw/hid-example.c: function bus_str line 18 drivers/scsi/ipr.c: function ipr_pci_error_detected line 10 drivers/gpio/gpio-bd70528.c: function bd70528_gpio_set_config line 11 drivers/gpio/gpio-bd70528.c: function bd70528_gpio_set_config line 17 drivers/gpio/gpio-bd70528.c: function bd70528_gpio_set_config line 21 drivers/pinctrl/pinctrl-rockchip.c: function rockchip_pinconf_get line 71 drivers/pinctrl/pinctrl-rockchip.c: function rockchip_pinconf_set line 74 drivers/gpu/drm/amd/display/include/signal_types.h: function dc_is_dvi_signal line 6 security/keys/trusted-keys/trusted_tpm1.c: function datablob_parse line 63 arch/x86/math-emu/fpu_trig.c: function
[Openipmi-developer] [PATCH 02/18] ipmi:bt-bmc: use semicolons rather than commas to separate statements
Replace commas with semicolons. What is done is essentially described by the following Coccinelle semantic patch (http://coccinelle.lip6.fr/): // @@ expression e1,e2; @@ e1 -, +; e2 ... when any // Signed-off-by: Julia Lawall --- drivers/char/ipmi/bt-bmc.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/char/ipmi/bt-bmc.c b/drivers/char/ipmi/bt-bmc.c index a395e2e70dc5..6e3d247b55d1 100644 --- a/drivers/char/ipmi/bt-bmc.c +++ b/drivers/char/ipmi/bt-bmc.c @@ -462,9 +462,9 @@ static int bt_bmc_probe(struct platform_device *pdev) mutex_init(_bmc->mutex); init_waitqueue_head(_bmc->queue); - bt_bmc->miscdev.minor = MISC_DYNAMIC_MINOR, - bt_bmc->miscdev.name= DEVICE_NAME, - bt_bmc->miscdev.fops= _bmc_fops, + bt_bmc->miscdev.minor = MISC_DYNAMIC_MINOR; + bt_bmc->miscdev.name= DEVICE_NAME; + bt_bmc->miscdev.fops= _bmc_fops; bt_bmc->miscdev.parent = dev; rc = misc_register(_bmc->miscdev); if (rc) { ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
On Sat, 3 Oct 2020, Konstantin Ryabitsev wrote: > On Sat, Oct 03, 2020 at 11:40:48AM -0700, Joe Perches wrote: > > (Adding tools and Konstantin Ryabitsev) > > > > There seems to be some mismatch between b4's use of the > > cover letter to a patch series and what maintainers that > > apply a subset of the patches in the patch series. > > > > The merge description shows the entire patch series as > > applied, but the actual merge is only a subset of the > > series. > > > > Can this be improved in b4? > > So, the following logic should be applied: > > - if the entire series was applied, reply to 0/n > - if a subset only is applied, reply to each n/n of the patch that was > cherry-picked out of the series > > Is that an accurate summary? That sounds good. julia ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
On Tue, 29 Sep 2020, Dan Carpenter wrote: > On Tue, Sep 29, 2020 at 02:20:00PM +0200, Ard Biesheuvel wrote: > > On Sun, 27 Sep 2020 at 21:56, Julia Lawall wrote: > > > > > > These patches replace commas by semicolons. > > > > > > Why? > > > > In the best case, these commas are just uninitentional mess, like typing > an extra space character or something. I've looked at them before and > one case I see where they are introduced is when people convert a > struct initializer to code. > > - struct foo { > - .a = 1, > - .b = 2, > ... > + foo.a = 1, > + foo.b = 2, > > The times where commas are used deliberately to replace curly braces are > just evil. Either way the code is cleaner with semi-colons. I also found exaamples like the following to be particularly unforunate: fprintf(stderr, "page_nr %lu wrong count %Lu %Lu\n", page_nr, count, count_verify[page_nr]), exit(1); The exit is very hard to see, unless you know to look for it. julia ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
On Tue, 29 Sep 2020, Mark Brown wrote: > On Tue, Sep 29, 2020 at 01:46:19PM +0200, Julia Lawall wrote: > > On Tue, 29 Sep 2020, Mark Brown wrote: > > > > Feel free to submit patches to b4. Ideally things like this wouldn't be > > > being sent as serieses in the first place, there's no dependencies or > > > interactions between the patches. > > > It was suggested (a long time ago, not with respect to this patch in > > particular) that sending such patches in a series is useful because it > > allows people who are not interested in the 18 patches to skip over them > > more easily. So there are two conflicting needs... > > I'm not convinced that there are huge numbers of people reading LKML as > a list TBH, and if you are sending things as a series then the way > you're doing it at the minute where you don't CC the cover letter to > people makes things confusing as it's unclear if there are dependencies > to worry about. The cover letter goes to all of the specific mailing lists affected by the patch, or if there is no list, then to at least one developer. Sending the cover letter to everyone would lead to too many recipients for some lists. If there is a preference for the rest of these patches to be sent one by one, then that is possible. julia ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
On Tue, 29 Sep 2020, Mark Brown wrote: > On Mon, Sep 28, 2020 at 05:45:24PM -0700, Joe Perches wrote: > > On Mon, 2020-09-28 at 20:35 +0100, Mark Brown wrote: > > > > [1/1] regmap: debugfs: use semicolons rather than commas to separate > > > statements > > > commit: 7f4a122d0b50b40c64d24a5cf7aafe26dd9487ee > > > Rather than replying to the 0/n cover letter to a patch > > series, can you reply to each of the specific patches in > > the patch series you are applying? > > > Otherwise, it's a bit difficult to figure out which patches > > you are applying. > > Feel free to submit patches to b4. Ideally things like this wouldn't be > being sent as serieses in the first place, there's no dependencies or > interactions between the patches. It was suggested (a long time ago, not with respect to this patch in particular) that sending such patches in a series is useful because it allows people who are not interested in the 18 patches to skip over them more easily. So there are two conflicting needs... julia ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
[Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
These patches replace commas by semicolons. This was done using the Coccinelle semantic patch (http://coccinelle.lip6.fr/) shown below. This semantic patch ensures that commas inside for loop headers will not be transformed. It also doesn't touch macro definitions. Coccinelle ensures that braces are added as needed when a single-statement branch turns into a multi-statement one. This semantic patch has a few false positives, for variable delcarations such as: LIST_HEAD(x), *y; The semantic patch could be improved to avoid these, but for the moment they have been removed manually (2 occurrences). // @initialize:ocaml@ @@ let infunction p = (* avoid macros *) (List.hd p).current_element <> "something_else" let combined p1 p2 = (List.hd p1).line_end = (List.hd p2).line || (((List.hd p1).line_end < (List.hd p2).line) && ((List.hd p1).col < (List.hd p2).col)) @bad@ statement S; declaration d; position p; @@ S@p d // special cases where newlines are needed (hope for no more than 5) @@ expression e1,e2; statement S; position p != bad.p; position p1; position p2 : script:ocaml(p1) { infunction p1 && combined p1 p2 }; @@ - e1@p1,@S@p e2@p2; + e1; e2; @@ expression e1,e2; statement S; position p != bad.p; position p1; position p2 : script:ocaml(p1) { infunction p1 && combined p1 p2 }; @@ - e1@p1,@S@p e2@p2; + e1; e2; @@ expression e1,e2; statement S; position p != bad.p; position p1; position p2 : script:ocaml(p1) { infunction p1 && combined p1 p2 }; @@ - e1@p1,@S@p e2@p2; + e1; e2; @@ expression e1,e2; statement S; position p != bad.p; position p1; position p2 : script:ocaml(p1) { infunction p1 && combined p1 p2 }; @@ - e1@p1,@S@p e2@p2; + e1; e2; @@ expression e1,e2; statement S; position p != bad.p; position p1; position p2 : script:ocaml(p1) { infunction p1 && combined p1 p2 }; @@ - e1@p1,@S@p e2@p2; + e1; e2; @r@ expression e1,e2; statement S; position p != bad.p; @@ e1 ,@S@p e2; @@ expression e1,e2; position p1; position p2 : script:ocaml(p1) { infunction p1 && not(combined p1 p2) }; statement S; position r.p; @@ e1@p1 -,@S@p +; e2@p2 ... when any // --- drivers/acpi/processor_idle.c |4 +++- drivers/ata/pata_icside.c | 21 + drivers/base/regmap/regmap-debugfs.c|2 +- drivers/bcma/driver_pci_host.c |4 ++-- drivers/block/drbd/drbd_receiver.c |6 -- drivers/char/agp/amd-k7-agp.c |2 +- drivers/char/agp/nvidia-agp.c |2 +- drivers/char/agp/sworks-agp.c |2 +- drivers/char/hw_random/iproc-rng200.c |8 drivers/char/hw_random/mxc-rnga.c |6 +++--- drivers/char/hw_random/stm32-rng.c |8 drivers/char/ipmi/bt-bmc.c |6 +++--- drivers/clk/meson/meson-aoclk.c |2 +- drivers/clk/mvebu/ap-cpu-clk.c |2 +- drivers/clk/uniphier/clk-uniphier-cpugear.c |2 +- drivers/clk/uniphier/clk-uniphier-mux.c |2 +- drivers/clocksource/mps2-timer.c|6 +++--- drivers/clocksource/timer-armada-370-xp.c |8 drivers/counter/ti-eqep.c |2 +- drivers/crypto/amcc/crypto4xx_alg.c |2 +- drivers/crypto/atmel-tdes.c |2 +- drivers/crypto/hifn_795x.c |4 ++-- drivers/crypto/talitos.c|8 23 files changed, 60 insertions(+), 51 deletions(-) ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
On Tue, 29 Sep 2020, Joe Perches wrote: > On Tue, 2020-09-29 at 14:47 +0200, Julia Lawall wrote: > > On Tue, 29 Sep 2020, Dan Carpenter wrote: > > > The times where commas are used deliberately to replace curly braces are > > > just evil. Either way the code is cleaner with semi-colons. > > > > I also found exaamples like the following to be particularly unforunate: > > > > fprintf(stderr, > > "page_nr %lu wrong count %Lu %Lu\n", > >page_nr, count, > >count_verify[page_nr]), exit(1); > > > > The exit is very hard to see, unless you know to look for it. > > I sent that patch last month. > https://patchwork.kernel.org/patch/11734877/ > > It's still not applied. OK, thanks. I'll not send those then :) julia ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [PATCH 00/18] use semicolons rather than commas to separate statements
On Tue, 29 Sep 2020, Ard Biesheuvel wrote: > On Sun, 27 Sep 2020 at 21:56, Julia Lawall wrote: > > > > These patches replace commas by semicolons. > > > Why? Among the complete 5000 lines of changes there is one probable bug where an if branch ends with a comma and thus pulls the subsequent statement under the if branch, in contradiction to what is indicated by the indentation. The use of comma often appears to be random, with a sequence of similar statements where some have commas and some don't. >From a self-interested point of view, commas are not good for Coccinelle, because multiple statements are put into one. Any problems involving them are thus likely to be overlooked unless one thinks of looking for them explicitly. As an example, Christophe Jaillet noticed that one sequence of comma assignments would be better written using swap. If one looked for opportunities for using swap in the most obvious way, one wouldn't find it. julia > > > > This was done using the > > Coccinelle semantic patch (http://coccinelle.lip6.fr/) shown below. > > > > This semantic patch ensures that commas inside for loop headers will not be > > transformed. It also doesn't touch macro definitions. > > > > Coccinelle ensures that braces are added as needed when a single-statement > > branch turns into a multi-statement one. > > > > This semantic patch has a few false positives, for variable delcarations > > such as: > > > > LIST_HEAD(x), *y; > > > > The semantic patch could be improved to avoid these, but for the moment > > they have been removed manually (2 occurrences). > > > > // > > @initialize:ocaml@ > > @@ > > > > let infunction p = > > (* avoid macros *) > > (List.hd p).current_element <> "something_else" > > > > let combined p1 p2 = > > (List.hd p1).line_end = (List.hd p2).line || > > (((List.hd p1).line_end < (List.hd p2).line) && > >((List.hd p1).col < (List.hd p2).col)) > > > > @bad@ > > statement S; > > declaration d; > > position p; > > @@ > > > > S@p > > d > > > > // special cases where newlines are needed (hope for no more than 5) > > @@ > > expression e1,e2; > > statement S; > > position p != bad.p; > > position p1; > > position p2 : > > script:ocaml(p1) { infunction p1 && combined p1 p2 }; > > @@ > > > > - e1@p1,@S@p e2@p2; > > + e1; e2; > > > > @@ > > expression e1,e2; > > statement S; > > position p != bad.p; > > position p1; > > position p2 : > > script:ocaml(p1) { infunction p1 && combined p1 p2 }; > > @@ > > > > - e1@p1,@S@p e2@p2; > > + e1; e2; > > > > @@ > > expression e1,e2; > > statement S; > > position p != bad.p; > > position p1; > > position p2 : > > script:ocaml(p1) { infunction p1 && combined p1 p2 }; > > @@ > > > > - e1@p1,@S@p e2@p2; > > + e1; e2; > > > > @@ > > expression e1,e2; > > statement S; > > position p != bad.p; > > position p1; > > position p2 : > > script:ocaml(p1) { infunction p1 && combined p1 p2 }; > > @@ > > > > - e1@p1,@S@p e2@p2; > > + e1; e2; > > > > @@ > > expression e1,e2; > > statement S; > > position p != bad.p; > > position p1; > > position p2 : > > script:ocaml(p1) { infunction p1 && combined p1 p2 }; > > @@ > > > > - e1@p1,@S@p e2@p2; > > + e1; e2; > > > > @r@ > > expression e1,e2; > > statement S; > > position p != bad.p; > > @@ > > > > e1 ,@S@p e2; > > > > @@ > > expression e1,e2; > > position p1; > > position p2 : > > script:ocaml(p1) { infunction p1 && not(combined p1 p2) }; > > statement S; > > position r.p; > > @@ > > > > e1@p1 > > -,@S@p > > +; > > e2@p2 > > ... when any > > // > > > > --- > > > > drivers/acpi/processor_idle.c |4 +++- > > drivers/ata/pata_icside.c | 21 + > > drivers/base/regmap/regmap-debugfs.c|2 +- > > drivers/bcma/driver_pci_host.c |4 ++-- > > drivers/block/drbd/drbd_receiver.c |6 -- > > drivers/char/agp/amd-k7-agp.c |2 +- > > drivers/char/agp/nvidia-agp.c |2 +- > > drivers/char/agp/sworks-agp.c |2 +- > > drivers/char/hw_ra
Re: [Openipmi-developer] [PATCH] ipmi: missing error code in try_smi_init()
On Tue, 6 Mar 2018, Dan Carpenter wrote: > If platform_device_alloc() then we should return -ENOMEM instead of > returning success. It looks like the word "fails" got lost here. julia > > Signed-off-by: Dan Carpenter> > diff --git a/drivers/char/ipmi/ipmi_si_intf.c > b/drivers/char/ipmi/ipmi_si_intf.c > index f2a294f78892..ff870aa91cfe 100644 > --- a/drivers/char/ipmi/ipmi_si_intf.c > +++ b/drivers/char/ipmi/ipmi_si_intf.c > @@ -2071,6 +2071,7 @@ static int try_smi_init(struct smi_info *new_smi) > new_smi->intf_num); > if (!new_smi->pdev) { > pr_err(PFX "Unable to allocate platform device\n"); > + rv = -ENOMEM; > goto out_err; > } > new_smi->io.dev = _smi->pdev->dev; > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
[Openipmi-developer] [PATCH] ipmi: bt-i2c: fix call_kern.cocci warnings
Function handle_request called from bt_i2c_slave_cb with bt_slave->lock held but uses GFP_KERNEL. Replace GFP_KERNEL by GFP_ATOMIC. Generated by: scripts/coccinelle/locks/call_kern.cocci Fixes: acd0208e3557 ("ipmi: bt-i2c: added IPMI Block Transfer over I2C BMC side") CC: Brendan Higgins <brendanhigg...@google.com> Signed-off-by: Julia Lawall <julia.law...@lip6.fr> Signed-off-by: Fengguang Wu <fengguang...@intel.com> --- url: https://github.com/0day-ci/linux/commits/Brendan-Higgins/ipmi-bt-i2c-added-IPMI-Block-Transfer-over-I2C/20170806-034713 ipmi_bmc_bt_i2c.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/char/ipmi_bmc/ipmi_bmc_bt_i2c.c +++ b/drivers/char/ipmi_bmc/ipmi_bmc_bt_i2c.c @@ -201,7 +201,7 @@ static int handle_request(struct bt_i2c_ if (atomic_read(_slave->request_queue_len) >= request_queue_max_len) return -EFAULT; - queue_elem = kmalloc(sizeof(*queue_elem), GFP_KERNEL); + queue_elem = kmalloc(sizeof(*queue_elem), GFP_ATOMIC); if (!queue_elem) return -ENOMEM; memcpy(_elem->request, _slave->request, sizeof(struct bt_msg)); -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
[Openipmi-developer] [PATCH] drivers/char/ipmi: Use KCS_IDLE_STATE
From: Julia Lawall ju...@diku.dk KCS_IDLE and KCS_IDLE state have the same value, but in this function the constants ending in _STATE are compared to the state variable. Signed-off-by: Julia Lawall ju...@diku.dk --- drivers/char/ipmi/ipmi_kcs_sm.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/char/ipmi/ipmi_kcs_sm.c b/drivers/char/ipmi/ipmi_kcs_sm.c index 8070487..cf82fed 100644 --- a/drivers/char/ipmi/ipmi_kcs_sm.c +++ b/drivers/char/ipmi/ipmi_kcs_sm.c @@ -370,7 +370,7 @@ static enum si_sm_result kcs_event(struct si_sm_data *kcs, long time) return SI_SM_IDLE; case KCS_START_OP: - if (state != KCS_IDLE) { + if (state != KCS_IDLE_STATE) { start_error_recovery(kcs, State machine not idle at start); break; -- Come build with us! The BlackBerryreg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9#45;12, 2009. Register now#33; http://p.sf.net/sfu/devconf ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer