diff options
author | Roland Dreier <rolandd@cisco.com> | 2008-04-17 00:01:08 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-04-17 00:01:08 -0400 |
commit | 37608eea86a358ac6a18df0af55d4f77d08a1f30 (patch) | |
tree | bb0d7c9a93763e6b3fda744a08b2a0c6ed80dfec /drivers/infiniband/hw/mlx4/main.c | |
parent | 26c4fc26d0af9b16a6a234318d15ee0b3896a63d (diff) |
mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums
The struct mlx4_interface.event() method was supposed to get an enum
mlx4_dev_event, but the driver code was actually passing in the
hardware enum mlx4_event values. Fix up the callers of
mlx4_dispatch_event() so that they pass in the right type of value,
and fix up the event method in mlx4_ib so that it can handle the enum
mlx4_dev_event values.
This eliminates the need for the subtype parameter to the event
method, so remove it.
This also fixes the sparse warning
drivers/net/mlx4/intf.c:127:48: warning: mixing different enum types
drivers/net/mlx4/intf.c:127:48: int enum mlx4_event versus
drivers/net/mlx4/intf.c:127:48: int enum mlx4_dev_event
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx4/main.c')
-rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 96a39b5c9254..d5512011999c 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c | |||
@@ -675,18 +675,20 @@ static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr) | |||
675 | } | 675 | } |
676 | 676 | ||
677 | static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, | 677 | static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, |
678 | enum mlx4_dev_event event, int subtype, | 678 | enum mlx4_dev_event event, int port) |
679 | int port) | ||
680 | { | 679 | { |
681 | struct ib_event ibev; | 680 | struct ib_event ibev; |
682 | 681 | ||
683 | switch (event) { | 682 | switch (event) { |
684 | case MLX4_EVENT_TYPE_PORT_CHANGE: | 683 | case MLX4_DEV_EVENT_PORT_UP: |
685 | ibev.event = subtype == MLX4_PORT_CHANGE_SUBTYPE_ACTIVE ? | 684 | ibev.event = IB_EVENT_PORT_ACTIVE; |
686 | IB_EVENT_PORT_ACTIVE : IB_EVENT_PORT_ERR; | ||
687 | break; | 685 | break; |
688 | 686 | ||
689 | case MLX4_EVENT_TYPE_LOCAL_CATAS_ERROR: | 687 | case MLX4_DEV_EVENT_PORT_DOWN: |
688 | ibev.event = IB_EVENT_PORT_ERR; | ||
689 | break; | ||
690 | |||
691 | case MLX4_DEV_EVENT_CATASTROPHIC_ERROR: | ||
690 | ibev.event = IB_EVENT_DEVICE_FATAL; | 692 | ibev.event = IB_EVENT_DEVICE_FATAL; |
691 | break; | 693 | break; |
692 | 694 | ||